数据库索引的使用规则

应该建索引的字段:1.经常作为查询条件的字段2.外键3.经常需要排序的字段4.分组排序的字段

应该少建或者不建索引的字段有:1.表记录太少,2.经常需要插入,删除,修改的表,3.表中数据重复且分布平均的字段

一些SQL的写法会限制索引的使用:1.where子句中如果使用in、or、like、!= <>,均会导致索引不能正常使用,将"<>"换成">and<";将"is not null "换成">=chr(0)";2.使用函数时,该列就不能使用索引。3.比较不匹配数据类型时,该索引将会被忽略。

一些SQL语句优化的写法:1.如果from是双表的查询时,大表放在前面,小表放在后面(基础表)。最后面的表是基础表。(只在基于规则的优化器中有效)2.如果三表查询时,选择交叉表(intersection table)作为基础表.(只在基于规则的优化器中有效)3.写where条件时,有索引字段的判断在前,其它字段的判断在后;如果where条件中用到复合索引,按照索引列在复合索引中出现的顺序来依次写where条件;4.查询数量较大时,使用表连接代替IN,EXISTS,NOT IN,NOT EXISTS等。5.ORACLE采用自下而上的顺序解析WHERE子句,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.

(0)

相关推荐

  • 怎样还原SQL Server 2000数据库

    故障现象:某服务器SQL Server 2000作为局域网数据库系统,并事先对数据库进行了必要的备份.现在准备还原数据库,请问应该如何操作? 解决方法:事先备份生成的数据库备份文件可以任意迁移至任何数 ...

  • [Mysql]Mysql索引实现原理及相关优化策略

    操作方法 01 数据库索引 数据库索引是什么? A database index is a data structure that improves the speed of data retriev ...

  • 如何定位、排除和避免MySQL数据库性能问题?

    操作方法 01 做大流量访问级别的web应用开发的项目的时候,我们不得不经常要对应用中的各项功能不断的进行检测,优化以防止应用在关键时刻挂掉.下面作者就如何定位,排除以及避免MySQL数据库性能问题上 ...

  • 微信聊天记录保存方法 微信5.2.1新功能介绍 朋友圈及聊天记录如何备份?

    从官方给出的更新内容来看,微信5.2.1 for Android主要添加了两项重要的新功能。 其一是用户在发朋友圈时,可以附上你所在的餐馆或景点,让自己分享的信息更加全面。 其二,则是一项非常实用且重 ...

  • Windows环境下安装Redis体验谈

    Redis 是一个高性能的key-value数据库, 使用内存作为主存储,数据访问速度非常快,当然它也提供了两种机制支持数据持久化存储.比较遗憾的是,Redis项目不直接支持Windows,Windo ...

  • HeidiSQl使用方法(mysql数据库管理工具)

    HeidiSQL 是一款免费开源并用于简单化的 MySQL 服务器管理和数据库管理的图形化界面.效率不比收费的 MySQL 管理软件差,和 phpMyAdmin 比,无需 php 支持,大文件导入导出 ...

  • 没有越狱怎么安装cydia

    没有越狱,很难获得Cydia应用.不过其实也有方法. Cydia对于已越狱的iPhone而言是必不可少的应用程序.在你的iPhone上安装Cydia后,你可以下载苹果应用商店中没有的iPhone应用. ...

  • Spring Boot如何整合Redis

    Spring Boot是目前非常流行的Java Web开发框架,Redis是非关系型数据库的一种,以键值对的形式存储.Spring对Redis的支持是通过Spring Data Redis来实现的,给 ...

  • 如何安装Cydia

    Cydia对于已越狱的iPhone而言是必不可少的应用程序.在你的iPhone上安装Cydia后,你可以下载苹果应用商店中没有的iPhone应用.Cydia的安装有些复杂,因为它无法通过苹果官方的应用 ...