我正在使用MySQL数据库,必须对大型/大型表(例如267,736行和30列)执行一些选择查询。
查询详情:
目前查询最多需要2秒钟,这需要很长时间。 有没有办法加快他们的速度?
答案 0 :(得分:0)
你应该(必须实际)使用索引。
在将要使用WHERE
或ORDER BY
的所有列上创建索引。还要研究并使用EXPLAIN来查看索引的影响并优化查询。
如果表中没有包含唯一数据的列,则不必创建主键,但很可能确实有这样的列(id,time ...)。在这种情况下,您应该使用主键来过滤查询。
查询中的列数对SELECT
速度几乎没有影响。
只要你制作"只选择查询"存储引擎也无关紧要。 MyISAM
可能会快一点,但InnoDB
有许多功能,当您决定选择"仅选择查询时,您需要这些功能。必须打破规则。