SQL提高性能
1、对外键建立索引,大数据量时性能提高明显(建索引可以直接【Merge Join】,否则还须在查询时生成HASH表作【Hash Join】)
2、尽量少使用inner join,使用left join是更好的选择
3、对where 条件建立索引,where 条件中列顺序与索引顺序一致,使用前置的模糊查询时,索引无效
4、有时候使用union 比join 效率更好(因为join连接比较费时)
5、有时候自定义函数比长的SQL更有效(是因为函数是已编译过的,长SQL是在执行是编译?)
6、使用exists(not exists)函数替代in(not in),大数据量时效率提高明显(很好理解,exists,在查询时直接匹配对应的项,而in,则每一个匹配的内容都要便利in的内容)
使用exists(not exists)函数替代in(not in),提高执行效率
select RoomTypeId from roomtype where roomtypeid not in
(select roomtype from fun_SelectPrice('2007-10-28','2007-12-11',100,300))
select RoomTypeId from roomtype where not exists
(select * from fun_SelectPrice('2007-10-28','2007-12-11',100,300) where roomtypeid =roomtype )
http://www.cnblogs.com/zihunqingxin/archive/2013/06/15/3137610.html 也有类似的举例
7、 索引不可过多,索引过多将会使Insert ,Update, Delete变慢
C#中使用SQL注意:
1、建立尽量少的connection,连接是宝贵资源。
2、尽量少的执行command
3、transaction应尽量晚开始,尽量快终止
4、尽量少的使用前置模糊查询,前置模糊查询索引失效。
5、必要时使用存储过程,存储过程,减少通信(长SQL,只个别参数的区别),减少编译时间,存储过程是编译好的直接执行
SQL提高性能的更多相关文章
- SQL 提高性能
参考博客:http://www.cnblogs.com/jiekzou/p/5988099.html 非常感谢博主分享. 1.set nocount on 关闭行基数信息,减少网络通信,提高程序性能 ...
- SQL Server SQL性能优化之--通过拆分SQL提高执行效率,以及性能高低背后的原因
复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过 ...
- 使用WITH AS提高性能简化嵌套SQL(转载)
使用WITH AS提高性能简化嵌套SQL http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html
- SQL Server 性能优化之——系统化方法提高性能
SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...
- 使用SQL Server 2000索引视图提高性能
什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...
- 转:使用WITH AS提高性能简化嵌套SQL
使用WITH AS提高性能简化嵌套SQL 一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片 ...
- 如何提高sql查询性能到达优化程序的目的
1.关于SQL查询效率,100w数据 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1 ...
- 【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率
原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题 ...
- SQL 提高查询效率
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...
随机推荐
- 学生信息管理系统java测试报告
package studentinformation; /**姓名 胡海靖 * 学号 20183609 * 班级 信1805-2 */ class ScoreInformation { private ...
- tar.xz文件
创建或解压tar.xz文件的方法 习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩.其实不行 tar里面没有征对xz格式的参数比如 z是针对 g ...
- web前端学习 roadmap
<tag attribute="value">content</tag>
- 爬虫之xpath解析库
xpath语法: 1.常用规则: 1. nodename: 节点名定位 2. //: 从当前节点选取子孙节点 3. /: 从当前节点选取直接子节点 4. node ...
- Mac中制作USB系统启动盘
.iso镜像文件转 .dmg文件 hdiutil convert -format UDRW -o linuxmint.dmg ~/Desktop/linuxmint-19-cinnamon-64bit ...
- 修改自己的centos输入法
当自己的centos连上网时,就可以修改自己的输入法了 http://jingyan.baidu.com/album/da1091fb3e7f8a027849d681.html?picindex=2
- Constant expression required
switch 语句编译报错Constant expression required 问题:case语句后面必须是常量,使用final修饰 public static final int NotifyT ...
- Travelling Businessmen Problem
Travelling Businessmen Problem 先求出图的两个部分,可能只有一个部分 然后用set模拟,得到不同部分差最小的 #include <bits/stdc++.h> ...
- swoole使用异步进程通信
$process = new swoole_process(function($pro){ $pro->exec('//linux中的php命令所在绝对路径', ['//执行文件绝对路径']); ...
- abstract关键字、final关键字、static关键字、访问修饰符详解
abstract关键字.final关键字.static关键字.访问修饰符详解 abstract关键字: final关键字: static关键字: 访问修饰符: