http://rdc.taobao.com/team/jm/archives/1530
1. like %keyword 索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。
2. like keyword% 索引有效。
3. like %keyword% 索引失效,也无法使用反向索引。
====================================================================
1. 使用下面的函数来进行模糊查询,如果出现的位置〉0,表示包含该字符串。
查询效率比like要高。
如果: table.field like ‘%AAA%’ 可以改为 locate (‘AAA’ , table.field) > 0
LOCATE(substr,str)
POSITION(substr IN str)
返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0。
使用instr
select count(*) from table t where instr(t.column,’xx’)> 0
这种查询效果很好,速度很快。
2. 查询%xx的记录
select count(c.c_ply_no) as COUNT
from Policy_Data_All c, Item_Data_All i
where c.c_ply_no = i.c_ply_no
and i.C_LCN_NO like ’%245′
在执行的时候,执行计划显示,消耗值,io值,cpu值均非常大,原因是like后面前模糊查询导致索引失效,进行全表扫描
解决方法:这种只有前模糊的sql可以改造如下写法
select count(c.c_ply_no) as COUNT
from Policy_Data_All c, Item_Data_All i
where c.c_ply_no = i.c_ply_no
and reverse(i.C_LCN_NO) like reverse(‘%245′)
使用翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全扫描。有效降低消耗值,io值,cpu值这三个指标,尤其是io值的降低。
相关推荐
3. 使用like操作符时的注意事项:使用like操作符时,需要指定binary关键字或正确地指定字符集,以避免多余数据的问题。 4. 在 PHP 程序中调用 MySQL 数据库时的注意事项:在 PHP 程序中调用 MySQL 数据库时,需要...
MYSQL 索引注意事项及其优化 索引是 MySQL 中的一种数据结构,可以提高查询效率。但是,索引也需要合理地使用和优化,否则可能会降低查询效率。下面是 MySQL 索引的分类和优化注意事项。 索引分类 MySQL 中的索引...
代码走查是软件开发过程中的重要环节,旨在发现...通过以上代码走查注意事项,可以显著提高代码质量,降低软件维护成本,并确保系统运行的稳定性和高效性。在实际开发过程中,应结合具体项目和团队规范进行调整和优化。
在Asp.net与C#开发领域,掌握一系列的注意事项与小技巧对于提升代码质量、确保程序稳定性和增强用户体验至关重要。以下是从给定文件中提炼出的关键知识点,它们涵盖了从基本编码规范到高级优化策略,旨在帮助开发者...
### ORACLE移植DB2注意事项 在进行Oracle到DB2数据库移植的过程中,需要注意多个方面的差异,以确保移植后的应用能够正常运行。以下将详细介绍几个关键点: #### 1. 字符串与数字的区别处理 在Oracle中,如果在...
以下是一些重要的注意事项: 首先,从标题和描述中我们可以看出,升级过程中可能会遇到与内核函数重定义相关的错误。IAR 6.3版本已经包含了Cortex-M3内核的定义,因此不再需要STMicroelectronics(ST)库中的`core_...
本文将探讨编写高性能SQL语句时应注意的一些事项。 1. **处理NULL值**: - `IS NULL` 和 `IS NOT NULL` 操作在含有NULL值的列上不会使用索引,导致全表扫描。因此,尽量避免在索引列上使用NULL值,同时避免在WHERE...
注意事项 在使用like模糊查询时,需要注意以下几点: * 在SQL语句中,使用 `%` 通配符来匹配任意字符。 * 在使用MyBatis Generator时,需要配置模糊查询的方式。 * 在使用like模糊查询时,需要注意查询的性能问题...
**使用时的注意事项:** 1. **避免使用不等号和函数**:如`!=`、`>`、`、`BETWEEN`、`LIKE`、`REGEXP`等,这些操作可能导致索引无法被有效利用。 2. **JOIN操作需匹配数据类型**:在JOIN中,主键和外键的数据类型...
六、注意事项 - 为了提高查询效率,应避免在`LIKE`表达式中使用数据库字段的索引,因为大多数数据库系统不支持对包含通配符的索引进行优化。 - 在大型数据集上使用`LIKE`可能会消耗大量资源,因此要谨慎使用。 总结...
### 外企面试注意事项 在外企面试过程中,无论是校园招聘还是社会招聘,都需要求职者做好充足的准备。本文将从外企面试的注意事项入手,重点解析英语面试中的关键要素,并通过实例来帮助求职者更好地理解如何在面试...
通过遵循这些策略和注意事项,你可以显著提升SQL查询的性能,降低数据库系统的压力,从而提供更好的服务质量和用户体验。记住,每个数据库环境都有其特定的优化需求,因此需要根据实际情况进行调整和测试。
- **模糊查询**:使用`LIKE`关键字进行模糊匹配,例如`select * from teamboys where name like '%xxx%'`。 - **变量与常量**:在动态构造SQL语句时,确保正确地将变量插入到查询中,如`name`和`phone`,以避免SQL...
员工持股方案及公司入股注意事项
在数学建模领域,尤其是参与美国大学生数学建模竞赛(MCM/ICM,也称为“美赛”)时,有一些关键的注意事项是参赛者必须了解的。这个压缩包文件"数学建模-美赛注意事项.zip"包含了重要的指导文档"数学建模-美赛注意...
在安装Apache Spark 2.1时,有一些关键的注意事项需要遵循以确保安装过程顺利,并且能够在你的系统上正确地运行。Spark是一个强大的大数据处理框架,它支持多种编程语言,包括Python,这使得它在数据科学和分析领域...
以下是一些关于提升SQL查询效率的关键注意事项: 1. **精确的查询条件**:在编写SQL语句时,确保查询条件尽可能精确,避免全表扫描。如果查询涉及参数,确保参数化查询以减少解析时间。 2. **理解SQL逻辑执行顺序*...
#### 注意事项: - 连接操作可能会导致性能问题,特别是在处理大量数据时。因此,在实际应用中需要考虑使用索引或其他优化手段。 - 如果字段中含有特殊字符或空值,可能会影响查询结果。可以通过使用`NVL()`函数等...
注意事项 在构建 SQL 语句时,我们需要注意参数是否为空。如果参数为空,那么我们需要跳过该参数的过滤条件。例如: ``` if(c_name!=None): sql=sql+"AND ( c_name LIKE '%"+c_name+"%' )" ``` 在上面的代码中,...
`Readme.txt`通常是一个文本文件,包含有关程序的说明、安装指南或使用注意事项。在这个例子中,它可能解释了如何运行和理解这个LIKE运算符的示例程序。 总的来说,这个压缩包提供了一个使用Jet SQL的LIKE运算符和...