MySQL创建索引...性能问题

时间:2012-01-02 06:05:51

标签: php mysql performance indexing

我有一张桌子 - 好的三张桌子艺术家,场地和活动......大约150k活动。我想要了解mysql创建索引更清楚,因为它与我的具体问题有关。这个问题基本上是php软件加载一个拉动这些数据的页面花了很长时间......太长了。我绝对没有时间清理代码......只是为了优化mysql,memcache可能?,添加更多内存等等。所有数据都是文本...

欢迎任何和所有的想法!

谢谢〜

2 个答案:

答案 0 :(得分:0)

基本上,您希望在最常用于搜索表中记录的字段上创建索引。 CREATE INDEX documentation

为了更清楚地了解您的问题,您需要确定您认为执行速度太慢的主要查询并对其运行EXPLAIN查询。该输出将帮助您了解应将哪些列编入索引以提高应用程序的性能。

答案 1 :(得分:0)

检查MySQL slow query log以确定导致延迟的查询,然后对它们运行EXPLAIN以查看正在使用哪些(如果有)索引。如果您看到未使用索引,请考虑将索引添加到相关列。这些列将是WHERE和JOIN子句中使用的列。例如,如果您要在venues上加入eventsvenue_id,则可能需要将eventsvenue_id编入索引以提高加入效果。

例如:

CREATE INDEX event_venue_id ON events (venue_id);