mysql中数据表千万数据的条件查询优化

别回头
  • 75

想问一下,mysql一张表数据很多,比如百万,千万这种,那么我是用where查询,where条件是某个字段的话,有没有什么方法能使查询快一些

回复
阅读 682
4 个回答
Mannix
  • 1.4k

若是日志表的话可以看一下 ELK 分布式日志。

千万级并没有什么好的优化方案。

唯一方案就是给SQL中被查询的条件增加索引。就是看慢查询,给所有where条件加组合索引。

除此之外,只有上搜索引擎一条路。

你说的优化,具体什么场景?想优化到什么程度。

  1. 如果只是单纯的从一张表中,使用where去检索某些字段就行了,那无意就是增加索引,通过索引来查询整张表数据。还有InnoDB的内存调优,增加内存,以及一些内存配置也可以调高查询效率。
  2. 如果你想通过where条件查询,但是当前的情况,使用了索引还是不能快速查询。那就要看你如何创建的索引,毕竟不同的索引,查询的效果不一样的。虽然在InnoDB存储引擎,默认使用B+Tree索引。这种情况,可能使用MySQL自身的优化来进行,无法解决。那就的解决外部一些组件,例如常规的elasticsearch。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏