Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 海量表中的查询优化_Mysql_Performance_Query Optimization - Fatal编程技术网

Mysql 海量表中的查询优化

Mysql 海量表中的查询优化,mysql,performance,query-optimization,Mysql,Performance,Query Optimization,我有一张桌子,里面有砖混铺子。该表大约有1500万行30列 目前,当用户键入商店名称时,检索商店的查询时间大约为15到20秒(我们显示一个自动完成列表,以便用户可以直接从列表中选择) 我希望达到2-3秒的查询时间,这样用户就不会感到沮丧 我应该采取什么行动来达到这个目标?(我目前在Linode上使用一个MySql数据库……也许在Simple DB上会有所帮助?如果您所做的只是对某个特定字段进行简单的等号搜索或前缀搜索,那么在该字段上添加索引就可以了 如果您正在做比这更复杂的事情,那么您必须意识到

我有一张桌子,里面有砖混铺子。该表大约有1500万行30列

目前,当用户键入商店名称时,检索商店的查询时间大约为15到20秒(我们显示一个自动完成列表,以便用户可以直接从列表中选择)

我希望达到2-3秒的查询时间,这样用户就不会感到沮丧


我应该采取什么行动来达到这个目标?(我目前在Linode上使用一个MySql数据库……也许在Simple DB上会有所帮助?

如果您所做的只是对某个特定字段进行简单的等号搜索或前缀搜索,那么在该字段上添加索引就可以了

如果您正在做比这更复杂的事情,那么您必须意识到在数据库性能调优方面没有灵丹妙药。您需要了解以下两个方面:

  • 数据的性质(如何访问和修改)
  • 以及索引和其他数据库技术在幕后是如何工作的

关于这个主题的介绍,我强烈推荐阅读。

顺便说一句,1500万行无论如何都不是很大的…查询工作量?索引?硬件?在没有任何关于您的问题的信息的情况下,很难说出一些事情。-1,您至少应该向我们展示慢的select语句。然后你可以给你一个有根据的答案,而不是“也许这个,试试那个…”你能展示你的疑问吗?表结构?