关于oracle 与 mysql 的索引与隐式转换的总结
来源:互联网 发布:psp马甲卡淘宝 编辑:程序博客网 时间:2024/06/01 09:27
1.mysql中 int 与 varchar 类型的隐式转换:
一,如果表定义的是varchar字段,传入的是int型数字,则会发生隐式转换
二,表定义的是int字段,传入的是varchar数字字符串,不会发生隐式转换,如果在与数字字符串比较大小并且数字字符串还超过int定义的长度(会以字符串类型比较'$')会隐式转换
三,隐式转换会扫描全表,造成字段的索引的阻塞。
2.在oracle中
create table tn (id number, name varchar2(1));
create index idx_tn on tn (id);
create index idx_tn2 on tn (name);
select * from tn where id='123'; VARCHAR2->NUMBER的隐式转换,不会对索引产生影响。
select * from tn where name=123; 这里Oracle会将数值类型的123转换为VARCHAR2字符类型,和name进行比较,会用用全表扫描,导致name的列索引失效。
所以NAME和VARCHAR2之间可以进行隐式转换,其中VARCHAR2->NUMBER不会导致索引失效,NUMBER->VARCHAR2会让索引失效,因此这种隐式转换,是需要注意避免。
阅读全文
0 0
- 关于oracle 与 mysql 的索引与隐式转换的总结
- Oracle与MySQL的数据类型转换总结
- MYSQL 与 Oracle 之间的数据类型转换
- MYSQL 与 Oracle 之间的数据类型转换
- MYSQL 与 Oracle 之间的数据类型转换
- Oracle行列转换的思考与总结
- MySQL Study之--MySQL innodb存储与索引的总结
- 关于MySQL与Oracle的区别
- ORACLE与MySQL的区别-个人总结
- Oracle关于位图索引的创建与应用
- Oracle关于位图索引的创建与应用
- Oracle与Mysql主键、索引及分页的区别小结
- Oracle与Mysql主键、索引及分页的区别小结
- Oracle索引(B*tree与Bitmap)的学习总结
- oracle 11g 索引与分区的总结
- 关于MySQL的索引与优化(规整中)
- Mysql 索引的理解,总结与优化注意事项
- MySQL的索引与优化
- String中的“==”和equals()方法使用
- 用C语言实现 求10个整数中最大值
- 热修复tinker
- hibernate框架
- Kotlin Reference (十六) 函数和lambda表达式:内联函数、内联属性
- 关于oracle 与 mysql 的索引与隐式转换的总结
- Java框架之hibernate(1)
- kali linux MITM 中间人欺骗
- Mysql的总结
- “玲珑杯”ACM比赛 Round #19 B.Buildings【二分+RMQ】
- Android_非UI:Environment
- 比特币(BitCoin)学习第二天-比特币(BitCoin)矿机变迁史。
- JSON工具的使用---GsonFormat
- jq children 和 find