2012-10-16 22 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