Home  >  Article  >  Database  >  mysql选择索引

mysql选择索引

WBOY
WBOYOriginal
2016-06-07 15:13:401390browse

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 1、尽量为用来搜索、分类或分组的数据列编制索引,不要为作为输出显示的数据列编制索引。 最适合有索引的数据列是那些在where子句中数据列,在联结子句中出现的数据列,或者是在Group by 、Order by

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  1、尽量为用来搜索、分类或分组的数据列编制索引,不要为作为输出显示的数据列编制索引。

  最适合有索引的数据列是那些在where子句中数据列,在联结子句中出现的数据列,或者是在Group by 、Order by子句中出现的数据列。select 后的数据列最好不要用索引。

  2、综合考虑各数据列的维度。

  数据列的维度等于它所容纳的非重复值的个数。比如说,如果某个数据列的值是1,2,3,3,4.那么它的维度就是3.维度越高,越适合做索引。原因不言而喻。

  3、对短小的值进行索引。

  4、为字符串的前缀编索引。

  5、充分利用最左边的前缀。

  当你创建了一个n个数据列的符合索引时,因为索引中最左边的数据列集合能够使用的n个索引。一个复合索引在工作时就相当于n个索引,因为索引最左边的数据列集合能够用于匹配数据行。这样的一个集合就相当于"最左边前缀".MYSQL不能使用没有包含最左边前缀的搜索的索引。

  6、适可而止,不要建立过多的索引。

  索引会占用额外的磁盘空间,会影响写的性能。当你索引过多时,mysql甚至无法选择最好的索引来使用。

  7、让索引的类型与你打算进行的比较操作的类型保持匹配。(使用B树索引的关键字:USING BTREE)。

  8、利用慢查询日志找出性能低劣的查询。(慢查询日志文件是一个文本文件。)

mysql选择索引

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:精妙SQL速查手册Next article:oracle之内存