>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 18722 个阅读者 刷新本主题
 * 贴子主题:  数据库建立索引的原则 回复文章 点赞(0)  收藏  
作者:mary    发表时间:2020-06-16 08:58:01     消息  查看  搜索  好友  邮件  复制  引用

      数据库建立索引的原则

1,确定针对该表的操作是大量的查询操作还是大量的增删改操作。

     2,尝试建立索引来帮助特定的查询。检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引。

     3,尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长时间,同时,复合索引也占磁盘空间。

     4,对于小型的表,建立索引可能会影响性能

     5,应该避免对具有较少值的字段进行索引。

     6,避免选择大型数据类型的列作为索引。

     索引建立的原则

     索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则:
  1.   在经常用作过滤器的字段上建立索引;
  2.   在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;
  3.   在不同值较少的字段上不必要建立索引,如性别字段;
  4.   对于经常存取的列避免建立索引;
  5.   用于联接的列(主健/外健)上建立索引;
  6.   在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;
  7.   缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构。
----------------------------
原文链接:https://www.jianshu.com/p/9c8e2bb89d07
作者: 会飞的鱼

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-06-18 11:22:59 重新编辑]
  Java面向对象编程-->多线程(下)
  JavaWeb开发-->在Web应用中访问Web服务
  JSP与Hibernate开发-->映射对象标识符
  Java网络编程-->通过JavaMail API收发邮件
  精通Spring-->Vue简介
  Vue3开发-->Vue组件开发基础
  OSI七层模型与层上协议
  MySQL索引原理 - 秋慕云
  SQL查询语句练习题
  PostgreSQL VFD机制
  DNS原理及其解析过程
  从MySQL数据库中导出数据
  MySQL 处理重复数据
  MySQL 序列使用
  SQL AUTO INCREMENT 字段
  SQL FOREIGN KEY 约束
  SQL PRIMARY KEY 约束
  SQL UNIQUE 约束
  SQL NOT NULL 约束
  从十年运维看“云”维趋势
  电脑启动不起来,提示Reboot and select proper boot device ...
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。