-
SQL like%%模糊搜索优化方案一 -- 主键查询
mysql>selectcount(*),now()frommusic_song_base;+----------+---------------------+|count(*)|now()|+----------+---------------------+|474025|2018-05-2515:30:59|+----------+---------------------+1rowin......2,943 0 2018-05-25 15:39
-
SQL中instr和like的使用区别
1、instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0。instr函数定义如下:/**返回子字符串在源字符串中的位置(字符串位置从1开始,而不是从0开始)*@paramstr源字符串*@paramsubstr子字符串*@paramposition检索位置,可省略(默认为1),参数为正时,从......2,311 0 2018-05-25 15:09
-
jdbc更新/新增后返回记录id
简单记录下,爬虫项目中需要用到的,细节代码就不贴出来了。/***增加、删除、改*@paramsql*@paramparams*@return*@throwsSQLException*/publicstaticIntegerupdateByPreparedStatement(Stringsql,List<Object>params)throwsSQLException{intresult......2,211 4 2017-10-16 15:32
-
SQL 使用like '%ABC' 和 like '%ABC%'的优化
一般情况下,sql中使用col_namelike'ABC%‘的情况才能使用到col_name字段上的索引,这种情况不再赘述。如果是col_namelike'%ABC%'的情况,能否使用索引,怎样才能使用索引?答案是:可以使用索引,但是需要改写SQL并创建reverse函数索引。一、col_namelike'%ABC'时的优化方法Testcase: Cr......2,716 0 2017-06-07 09:56
-
SQL查询优化记录
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:selectidfromtwherenum=03.应尽量避免在wher......4,714 0 2017-06-07 09:46
-
数据库事务设计相关
1,保持事务短小2,尽量避免事务中rollback3,尽量避免savepoint4,默认情况下,依赖于悲观锁5,为吞吐量要求苛刻的事务考虑乐观锁6,显示声明打开事务7,锁的行越少越好,锁的时间越短越好STARTTRANSACTION:开始事务,autocommit设为0,如果已经有一个事务在运行,则会触发一个隐藏的COMMITCOMMIT:提交事务,保存更改,释放锁ROLLBACK:回滚本事务对数......2,588 0 2017-05-26 10:44
-
SQL not in 中包含null值是个悲剧
如果使用notin那么子查询中一定不能有null值,如果子查询中有null值那么查询无结果返回。1.测试notin子查询中包含null值测试表test_tSQL>select*fromtest_t;IDNAME------------------------------1a2b3c测试表test_t2SQL>select*fromtest_t2;IDNAME--------------......1,691 0 2017-03-22 20:14
-
Mybatis 延迟加载
什么是延迟加载?resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。resultType无法实现延迟加载。延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。使用association实现延迟加载需要定义两个Mapper......1,712 0 2016-07-18 09:38