我有50M的数据在我的数据库(mysqlphpmyadmin),当我用php在这些数据中搜索时它花费了很多时间,非常慢
我该如何解决这个问题?
my code:
$mysql_search = "SELECT * FROM data WHERE columns='value'";
$search_query = mysqli_query($conn, $mysql_search);
foreach($search_query as $row){
echo $row['id'];
}
和感谢
我已经尝试过使用limit和Like但是什么也没发生
$mysql_search = "SELECT * FROM data WHERE columns LIKE 'value%' LIMIT 5";
我可以建议你做三件事来提高你的搜索性能:
使用索引:在column
上添加索引可以显著提高搜索的性能,特别是在有一个大表的情况下。在这种情况下,在你的column
字段,你试图做那个搜索。例如:
CREATE INDEX index_name_column ON data (column);
优化查询:确保您的查询已针对性能进行了优化。例如,在搜索
时,尝试只获取必需的字段$mysql_search = "SELECT filed1, field2 FROM data WHERE columns LIKE 'value%' LIMIT 5";
Use LIMIT and OFFSET:选择只在进行搜索时需要的行。例如:您可以组合LIMIT
和OFFSET
以缩小搜索结果的范围,如-
$mysql_search = "SELECT field1, field2 FROM data WHERE columns LIKE 'value%' LIMIT 5 OFFSET 10";