重庆oracle认证培训机构

新闻分类

产品分类

热门关键词

联系我们

企业名称:重庆科禄德科技有限公司

联系人:冷老师

手机:17754917523

邮箱:93865813@qq.com

网址:www.cqora.com

地址:重庆石桥铺高创锦业

可以在不改变程序代码的情况下提高SQL的执行效率

您的当前位置: 首 页 >> 新闻资讯 >> 常见问题

可以在不改变程序代码的情况下提高SQL的执行效率

发布日期:2021-10-05 作者: 点击:

由于各种原因,有必要在不更改SQL代码的情况下优化数据库。这里有一些案例,可以在不改变程序代码的情况下提高SQL的执行效率。


MySQL培训

主要针对日期类型的字段,遇到时间戳类型的变量时,索引不能用于隐式类型转换,如:


从tt选择count(*),其中created=:b1,created=:b2


如果创建的字段的类型为date,b1和b2的类型为timestamp,则将发生隐式类型转换,并且无法使用创建的字段的索引。此外,这种情况不能通过创建to_timestamp函数的索引来纠正。


如果不更改代码,则只能将字段类型日期修改为时间戳(0):


alter  table  tt修改创建的时间戳(0);


该语句只修改数据字典,不需要修改每一行记录(如果将时间戳(0)反过来改为日期类型,每条记录都会被逐行修改,大表的时间会更长)。


时间戳(0)和日期类型的主要区别在于间隔类型是通过减去两个时间戳类型获得的。数字类型是通过减去两个日期类型获得的。如果没有这样的谓词条件或返回列,可以尝试这个方法。


4-改变表格结构(无风险)。


更改分区表


适用于统计分析的: SQL。如果统计分析一个月的数据,表中会有五年的数据,分区后数据访问是原来的1/60。


5-更改参数(有一定风险,建议全面测试)。


在OLTP高并发环境下,不使用绑定变量,需要大量硬解析,因此修改代码的工作量巨大。简单的方法是修改数据库初始化参数cursor_sharing=force(缺省值为确切值),有一定的风险,要好好测试。(有一些bug需要注意。如果公众号:升级到18c之前的版本,可能会遇到严重的性能问题。).

本文网址:http://www.cqora.com/news/822.html

关键词:MySQL培训,MySQL培训班,MySQL培训机构

Z近浏览:

报名咨询

点击咨询报名

QQ群

赛烽达技术群

冷老师

17754917523

加微信咨询

张老师微信.jpg

93865813@qq.com