2012-10-16 27 views
0

我不知道如何在PHP中執行散列。我試圖做文本搜索,該文本將存儲在MySQL表中。但我想用一些哈希技術完成搜索,而不是搜索使用WHERE子句來匹配文本,它假設尋找一個ID和匹配數據將更快。所以我有一個想法排序和存儲在數組中的數據並執行散列。但我不確定。如何在PHP中做到這一點?使用mysql表數據散列

假設我有臺這樣的事情

 
id engineering language 
____ ______________ __________ 
1 chemical  malay 
2 Electrical  english 
+0

如果你只是想提高查找速度,只是建立適當的索引在你的列。 – eggyal

+0

嗨eggyal,請你告訴我如何做到這一點與一些示例代碼。因爲我不能得到如何做? – vaani

+0

'ALTER TABLE my_table ADD INDEX(engineering)'?如果你絕對需要一個散列索引,你可以附加'USING HASH',但是'BTREE'(默認)可能綽綽有餘(並且也允許使用索引進行排序)。 – eggyal

回答

0
CREATE INDEX id_index ON table_name (engineering) USING BTREE; 

比較BTREE & HASH

refer

+0

嗨sola,感謝您的反饋。 。can you give a example example based on above table.whr我可以編輯這個嗎? $ query =「SELECT * FROM Engineering.searchkey」; $ results = array(); if($ result = $ mysqli-> query($ query)){ //查詢成功; ($ row = $ result-> fetch_assoc()){results [] = $ row;}返回結果數組,並將其添加到'$ results'列表中 。 } $ result-> free(); } $ mysqli-> close(); 回聲「嘗試」; print $ results; //處理'$ results'數組中的所有結果! foreach($ result爲$ result){ echo $ result ['ID' – vaani

+0

實際上INDEX必須在數據庫的表上創建。這與查詢無關。查詢將根據where條件中使用的索引列獲得執行結果。 – solaimuruganv