SQL语句为什么是大写

哎呀,我以前确实遇到过这个。
记得以前在公司做数据库维护的时候,有一次发现数据库性能突然开始下降。
当时我不明白这是怎么回事,后来才知道是SQL语句。

说到这里,Oracle数据库有一个特性,就是区分大小写。
例如,如果您先写“SELECT FROM TABLE”,然后写“select from table”,即使这两个句子看起来相同,Oracle 也会认为它们是两个不同的 SQL 语句。
这样,Oracle每次执行这两条指令时都会重新分析,而不是直接从缓存中取出。

我当时查了一下,发现Oracle记录了两个指标:buffer hit和soft parse。
缓冲区命中是指Oracle直接从缓存中取出SQL语句,而软解析是指Oracle必须再次解析SQL语句。
如果SQL语句的大小写敏感度不一致,每次执行都会导致软解析增加,缓冲区命中减少。

例如,在我们公司有一个报告,我们每天必须运行几次。
由于大小写不一致问题,每天大约有2 000次软解析,直接导致数据库性能大幅下降。

后来我建议公司制定SQL书写标准,要求所有SQL语句都使用小写字母。
这样,报告的执行效率提高了,缓冲区命中率也提高了,软解析的次数也明显减少了。
说实话,这个案例虽然很小,但是确实影响了数据库的性能,所以我们还是需要关注一下。
因此,我强烈建议制定SQL书写标准,统一大小写字母,这对于提高数据库性能会有很大帮助。

SQL 语句中的 DISTINCT 子句如何工作?

SQL是一种数据库操作语言,关键字的确切大小写并不重要。
表是数据库的基本结构,例如 Customers 表中有关客户的信息。
SELECT 获取数据;更新准备;删除则删除,输入则安装。
使用 CREATE DATABASE 创建数据库。
称一下体重。