IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 数据库 > MSSQL > 如何写出高效的sql的一点想法

如何写出高效的sql的一点想法

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  迷糊的问题:

  1.什么样的sql,才算是高效的sql呢?

  2.sql为什么不走索引?如何让sql走索引,即改变sql的执行计划

  3.索引有哪几种?

  4,什时候用索引,什么时候全表扫描

  oracle优化器的表统计信息,评估出表的最佳连接顺序,表的连接方法,执行路径;

  最后生成执行计划,oracle就按着这个计划来执行sql

  1.什么样的sql是高效sql?

  答:最本质答案就是执行时间最短,怎么才能最短了,就是用最少的资源把事办了,不做无用功;

  即使sql的io最少,那怎么样才才能最少呢?就是尽量用索引,不要全表扫描;在多表关联的

  时候,开发人选正确的表连接方法,执行路径等

  2.sql为何不走索引

  A.类型不匹配

  B。条件列包含函数但没有创建相应的函数索引

  C。复合索引中的前导列没有被做为查询条件

  D。CBO的模式下,选择的行数比例较大,优化器选择全表扫描

  E。CBO的模式下,表很久没有分析,优化器选择了全表扫描

  3.索引种类及创建方法

  A。B*索引

  create index indexname on tablename(columnname);

  B.反向索引

  create index indexname on tablename(columnname) reverse;

  C.降序索引

  create index indexname on tablename(columnname desc);

  D.位图索引

  create bitmap index indexname on tablename(columnname);

  E。函数索引

  create index indexname on tablename(functionname(columnname));

  4,什时候用索引,什么时候用全表扫描?

  答:

  要使用索引时,首先要弄清一些基本信息

  表有多少行?查询返回多少行?表的哪些列上有索引?都是什么样的索引?

  在有多个条件列时,应该选择什么样的索引?

  A.当查询的记录数,在有序表中小于40%的时候,最好用索引;否则用全表扫描

  B.当查询的记录数,在有无序表中小于7%的时候,最好用索引;否则用全表扫描

  C.表的锁片较多时(这个表dml操作很频繁)

关键词标签:sql

相关阅读 sql server系统表损坏的解决方法 SQL Server asp.net 数据提供程序连接池 SqlServer2005对现有数据进行分区具体步骤 一个Access数据库数据传递的实例方法 为导入文件加上时间戳标记的两种方法 SQL Server 2005 在不允许远程连接的情况下的破解

文章评论
发表评论

热门文章 sql server系统表损坏的解决方法 sql server系统表损坏的解决方法 SqlServer2005对现有数据进行分区具体步骤 SqlServer2005对现有数据进行分区具体步骤 解决SQL Server中Group无法实现的问题 解决SQL Server中Group无法实现的问题 SQL Server 2005降级到2000的正确操作步骤 SQL Server 2005降级到2000的正确操作步骤 手把手教你学会SQL Server镜像操作 手把手教你学会SQL Server镜像操作 实战手记:让百万级数据瞬间导入SQL Server 实战手记:让百万级数据瞬间导入SQL Server

相关下载

人气排行 配置和注册ODBC数据源-odbc数据源配置教程 如何远程备份(还原)SQL2000数据库 SQL2000数据库远程导入(导出)数据 SQL2000和SQL2005数据库服务端口查看或修改 修改Sql Server唯一约束教程 SQL Server 2005降级到2000的正确操作步骤 sql server系统表损坏的解决方法 浅谈JSP JDBC来连接SQL Server 2005的方法 SQL Server创建表语句介绍 MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系 如何使用SQL Server中的客户端配置工具 SQL Server 分布式查询:OLE DB连接(一)