基本的Sql编写注意事项】的更多相关文章

基本的Sql编写注意事项 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替. 不用NOT IN操作符,可以用NOT EXISTS或者外连接+替代. Oracle在执行IN子查询时,首先执行子查询,将查询结果放入临时表再执行主查询.而EXIST则是首先检查主查询,然后运行子查询直到找到第一个匹配项.NOT EXISTS比NOT IN效率稍高.但具体在选择IN或EXIST操作时,要根据主子表数据量大小来具体考虑. 不用“<>”或者“!=”操作符.对不等于操作符的处理会造成全表扫描…
1.SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.数据表最好起别名;因为便于sql优化器快速分析. 3.尽量不要使用 insert into table value(?,?,?,?,?)格式,要指出具体要赋值的字段.INSERT.....SELECT的效率会有提高. 4.select与from语句之间只定义返回的字段名,除非返回所有的字段,尽量不要使用 * . 5.select字段名应按照表的字段物理顺序编写,字段提取要按照“需多少.提多少”的原…
最近在编写mybatis的动态注解sql遇到了不少的坑,在网上看到一篇讲的比较详细的文章,记录一下: https://mbd.baidu.com/newspage/data/landingshare?pageType=1&isBdboxFrom=1&context=%7B%22nid%22%3A%22news_9416527835807077854%22%2C%22sourceFrom%22%3A%22bjh%22%7D…
8.使用PL/SQL编写触发器: 触发器存放在数据缓冲区中.        触发器加序列能够实现自动增长.        在触发器中不能使用connit和rollback.        DML触发器在对特定的表执行DML(insert.update.delete)操作时激发.        语句级不能用:new和:old,行级可用.(在触发器中加上for each row就是行级触发器,不加则默认语句级)        一张表可以有多个触发器,但是一个触发器只能监听一个表. 定义触发器:   …
本文为博主原创,未经允许不得转载: 根据平常的习惯,个人会将操作的表后面添加一个别名,无论是使用还是不使用的时候,均是为了 修改还是扩展sql的时候更加安全,方便,快捷. 今天在写删除的sql时,对表添加了别名,就一直报错: 当我去除表的别名时就可以了. 于是总结了一下删除sql的注意事项及删除表中别名的使用等. 1.删除sql的语法: DELETE FROM 表名称 WHERE 列名称 = 值例如: DELETE from TBL_CAMERA_MONTH_ONLINE_STAT where…
SQL编写一般要求---SQL语句尽可能简单---分解联接保证高并发---同数据类型的列值比较---不在索引列做运算---禁止使用SELECT *---避免负向查询和%前缀模糊查询---保持事务(连接)短小---改写OR为IN()---改写OR为UNION---LIMIT高效分页---用UNION ALL而非 UNION---GROUP BY 去除排序 SQL语句尽可能简单 l 大SQL VS 多个简单SQL Ø  传统设计思想 Ø  BUT MySQL NOT Ø  一条SQL只能在一个CPU…
目录 常见SQL编写和优化 常见的SQL优化方式 常见SQL编写和优化 常见的SQL优化方式 对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引. 应尽量避免在 where 子句中对字段进行null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列是否存在null值,然后这样查询: select id from t where n…
在数据库部分,对数据库应用性能改进来说,需要重点关注应用程序,在查询设计和索引策略等方面进行优化,甚至可以把数据库查询效率提高数百倍,在其他方面的优化努力,其效果就没有这么明显(见下图).本文重点描述在应用程序中进行数据库查询时,在设计和使用索引.设计查询语句等方面的注意事项,以取得良好的数据库查询性能. 一.索引设计和使用策略 使用索引是数据库减少磁盘I/O最有效的方法.除了在表中数据量非常少和需要返回表中大部分行的情况,正确使用索引的查询性能比全表扫描要高得多,有时简单新建一个合适的索引,就…
sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂的SQL语句,要设法对之进行简化. 常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果.3)少用子查询4)视图嵌套不要过深,一般视图嵌套不要超过2个为宜. 连接的表越多,其编译的时间和连接的开销也越大,性能越不好控制. 最好是把连接拆开成较小的几个部…