sql语句 技巧 51Testing软件测试网采编
sql语句 技巧 51Testing软件测试网采编
1、应用程序中sql语句 技巧 51Testing软件测试网采编,保证在实现功能的基础上,尽量减少对的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集sql语句 技巧,从而减轻网络负担;能够分开的操作尽量分开处理sql语句 技巧,提高每次的响应速度;在数据窗口使用时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如 * FROM T1语句,要用到几列就选择几列如: COL1,COL2 FROM T1;在可能的情况下尽量限制尽量结果集行数如: TOP 300
COL1,COL2,COL3 FROM T1,因为某些情况下用户是不需要那么多的数据的。不要在应用中使用数据库游标,游标是非常有用的工具,但比使用常规的、面向集的SQL语句需要更大的开销;按照特定顺序提取数据的查找。
2、避免使用不兼容的数据类型。例如float和int、char和、和是不兼容的。数据类型的不兼容可能使优化器无法执行一些本来可以进行的优化操作。例如:
name FROM WHERE > 60000
在这条语句中,如字段是money型的,则优化器很难对其进行优化,因为60000是个整型数。我们应当在编程时将整型转化成为钱币型,而不要等到运行时转化。
3、尽量避免在WHERE子句中对字段进行函数或表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
* FROM T1 WHERE F1/2=100
应改为:
* FROM T1 WHERE F1=100*2
* FROM WHERE (,1,4)=’5378’
应改为:
* FROM WHERE LIKE ‘5378%’
, , FROM
WHERE (yy,,()) > 21
应改为:
, , FROM
WHERE < (yy,-21,())
即:任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。
4、避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符,因为这会使系统无法使用索引sql语句 技巧,而只能直接搜索表中的数据。例如:
id FROM WHERE id != ‘B%’
优化器将无法通过索引来确定将要命中的行数,因此需要搜索该表的所有行。
5、尽量使用数字型字段,一部分开发人员和数据库管理人员喜欢把包含数值信息的字段设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。

6、合理使用,NOT 子句。如下所示:
1) SUM(T1.C1)FROM T1 WHERE(
( COUNT(*)FROM T2 WHERE T2.C2=T1.C2>0)
2) SUM(T1.C1) FROM (
* FROM T2 WHERE T2.C2=T1.C2)
两者产生相同的结果,但是后者的效率显然要高于前者。因为后者不会产生大量锁定的表扫描或是索引扫描。
如果你想校验表里是否存在某条纪录sql语句 技巧 51Testing软件测试网采编,不要用count(*)那样效率很低,而且浪费服务器资源。可以用代替。如:
IF ( COUNT(*) FROM WHERE = ‘xxx’)
可以写成:
IF ( * FROM WHERE = ‘xxx’)
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » sql语句 技巧 51Testing软件测试网采编
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

