|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS(CommunityEnterpriseOperatingSystem,中文意思是:社区企业操作系统)是Linux发行版之一。
也许一个多月之前,接到过一个口试德律风,个中有个成绩是让我谈谈SQL优化,事先一时竟不晓得怎样回覆。这个中的不晓得怎样回覆,并非由于本人完整不懂SQL优化,而是在看过一些Oracle相干的书以后,深知这个话题不是一两句可以讲清的,以是不晓得怎样有层次的来形貌SQL优化***。记妥当时很不周密地说了两句,只管利用索引,让SQL选择的汇合只管小。此次事变以后,想起来有需要收拾一下已知的关于SQL优化常识。
SQL优化是个体系工程,Tom先生的这篇文章说得很分明。它与数据库软件,操纵体系及硬件都有十分年夜的干系,并没有一个包治百病的计划。因而在看过Oracle一些书以后,我便不再科学网上各处转载的关于SQL优化的一些***了。上面是我在看SqlTuning这本书,收拾出的一个进修优化SQL必要懂得的器材。
必要举行SQL优化,起首必要懂得SQL怎样在数据库中实行。包含SQL剖析,SQL转换,会见数据的路径,多张表之间接纳何种体例连接,在分歧数据集情形下实行企图会有甚么分歧,每个SQL的下令对应于数据库的哪些操纵(如order,having等)。了解这些以后,还必要进修的就是怎样经由过程一些***来把持SQL的实行企图,如连接按次等。在SQLTuning一书中,看到过一些让我感到匪夷所思的***,今朝还没读完,个中有很多风趣的器材,惋惜只找到英文版,读着累。
个中的细节太多,上面说一个我懂得的存在良多曲解的器材。
Index在一些时分并非最无效的体例,当SQL语句拔取的数据集在凌驾全表的20%时,全表扫描的效力会高于利用Index,这也两种体例的数据会见有关。Index时,会先会见索引,获得Rowid(Rowid包含该条数据的物理地点信息),然后经由过程RowId读取会见该笔记录地点的块。全表扫描则间接按按次读取存储该表的数据块。Oracle在读取数据时,并非一条一条读取数据,而是按块读取,因而有些时分一个数据块中大概会包括多笔记录。再到场Oracle在全表扫描时能够并行读取数据块,速率远远高于小的IO,因而全表扫描速率比经由过程索引会见更快。
小知识:CentOS完全遵守上游供应商的再发行政策,并且以百分之百的软件兼容性为目标。 |
|