最近的两条sql效率优化心得
第一条:
select * from where field in (1,2,3) 这种写法应该舍弃了,而应该这样写:
select * from table where field = 1 or field = 2 or field = 3
为什么呢?
凡事只有做过才知道,自己建个表,插入10W条测试数据,用sql测试一下便知,因为工作便利,我在产品机和外网测试机都已经测试过,所以建议以后不用in了,改用or
第二条:
like 与 regexp
如你所知:
like是匹配任意字符,任意位数,而regexp是mysql的正则匹配函数
同上,今天测试,效率对比立现,改用regexp,摒弃like
rlike是regexp的别名,很多人也习惯rlike,看个人习惯
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
Standard Security:
"Data Source=Aron1;Initial
Catalog=pubs;User Id=sa;Password=asdasd;"
- or -
"Server=Aron1;Database=pubs;User
ID=sa;Pass ......
原文地址:http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htm
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。
本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.
一、 基础介绍
(a) ......
ORACLE SQL优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from 子句中的表名,from 子句中写在最后的表
(基础表driving table)将被最先处理,在from 子句中包含多个表的情况下,你必须选择记
录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需 ......
在sql查询分析器里面是不能直接运行cmd命令的
但是SQL给出了一个接口
--打开高级设置
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
--打开xp_cmdshell扩展存储过程
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
首先 打开一些配置
然后执行你要运行cmd命令
exec master..xp_cmdshell 'net star ......