国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle提高sql執(zhí)行效率的心得建議

2020-07-26 14:23:31
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

-->FROM子句中包含多個(gè)表的情況下,選擇記錄條數(shù)最少的表作為基礎(chǔ)表

-->解析WHERE子句是自下而上的 過濾條件要有順序

-->ORACLE會(huì)將'*'轉(zhuǎn)換成列名

-->DELETE會(huì)在rollback segment中存放可恢復(fù)信息,可以試試TRUNCATE

-->COMMIT會(huì)釋放:1.rollback segment
2.被程序語句獲得的鎖
3.redo log buffer

-->把Alias前綴于每個(gè)Column上可以減少解析的時(shí)間

-->ORACLE解析sql語句時(shí)會(huì)把小寫的字母轉(zhuǎn)換成大寫的再執(zhí)行

-->在索引列上使用NOT會(huì)停止使用索引轉(zhuǎn)而執(zhí)行全表掃描

-->在索引列上進(jìn)行運(yùn)算會(huì)停止使用索引轉(zhuǎn)而執(zhí)行全表掃描

-->使用'>=',而不是'>'

-->where子句中'!='、'||'、'+'等符號(hào)會(huì)破壞索引

-->IN的效率很低,IN子句將執(zhí)行一個(gè)內(nèi)部的排序和合并

-->EXIST查詢更為迅速

-->對(duì)于兩個(gè)索引列,UNION比OR效率更高

-->IS NULL會(huì)破壞索引

-->DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等都帶有SORT功能,會(huì)耗費(fèi)資源

-->多個(gè)索引列時(shí)盡量使用第一個(gè)索引列

-->盡量用 UNION ALL代替UNION

-->不要用TO_NUMBER()之類的函數(shù)改變索引列的類型。

-->對(duì)于字符類型的索引列盡量寫成:col = '123' 而不是 col = 123,后者會(huì)被解析為TO_NUMBER(EMP_TYPE)=123

-->適當(dāng)?shù)牡胤绞褂眠m當(dāng)?shù)年P(guān)鍵字:HAVING會(huì)在檢索出所有記錄之后對(duì)結(jié)果集進(jìn)行過濾 能使用WHERE解決時(shí)不要用HAVING

-->索引也需要維護(hù),INSERT,DELETE,UPDATE會(huì)因索引而做出更多次I/O

-->重構(gòu)索引是必要的:ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME> [ONLINE]

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涞源县| 大英县| 绥化市| 江口县| 保靖县| 获嘉县| 阳春市| 青神县| 视频| 肇源县| 西宁市| 云南省| 衡山县| 杭州市| 南木林县| 吉首市| 精河县| 茌平县| 姚安县| 沭阳县| 齐河县| 绥芬河市| 曲水县| 兴和县| 咸阳市| 滨州市| 中阳县| 吉首市| 五华县| 杭锦后旗| 岫岩| 华亭县| 九龙坡区| 康保县| 汨罗市| 介休市| 扎兰屯市| 文山县| 浠水县| 朔州市| 潜江市|