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

首頁 > 開發 > 綜合 > 正文

SQL優化(一)

2024-07-21 02:51:56
字體:
來源:轉載
供稿:網友
大表的select操作1、首先建立索引,考慮實際用途最好建立組合索引當任何單個查詢要檢索的行少于或者等于整個表行數的10%時,索引就非常有用。當業務需要檢索表中數據超過25%,索引意義不大普通索引create index idx_t_normalid on t(object_id)唯一索引(索引列非空則唯一,比普通索引占用空間小一點)create unique index idx_t_uniid on t(object_id)復合索引(查詢時按索引的順序加入條件object_id,object_name或object_id)create index idx_t_normalid on t(object_id,object_name);2、使用中間表如人員明細表,可建立地域、時間人員數量表作為中間表以查詢人數注意:對明細表進行更改是也要對中間表相應字段進行更改3、水平拆表如果表中的數據呈現出某一類特性,比如呈現時間特性,那么可以根據時間段將表拆分成多個。4、垂直拆表將表按字段拆分成多個表,常用的字段放在一個表,不常用的字段或大字段放在另外一個表5、索引優化(1)索引不存儲為NULL的列(2)避免通配符(%)在搜尋詞首出現,如必須可使用  reverse函數(3)避免對索引列進行類型轉換(4)避免對索引列進行函數運算,如必須可建立函數索引

(5)避免索引列使用 <>,!=,NOT IN,NOT EXISTS,可使用< OR > 來避免

(6)頻繁進行刪除操作的被索引的表,應當階段性地重建索引,以避免在索引中造成空間碎片,影響性能.在許可的條件下,也可以階段性地truncate表,truncate命令刪除表中所有記錄,也刪除索引碎片.

6、sql優化

盡量使用 JOIN 進行表的連接,永遠不要在 FROM 后面使用逗號連接表

order by 非索引字段或者有計算表達式都將降低查詢速度

避免使用HAVING子句,可用where代替

EXISTS替代IN、用NOT EXISTS替代NOT IN

sql語句用大寫的;因為Oracle總是先解析sql語句,把小寫的字母轉換成大寫的再執行

不要使用游標 !!

7、優化GROUP BY

將不需要的記錄在GROUP BY 之前過濾掉

8、 用內存緩存數據,以空間換時間、將常用而且不常修改的數據加載到內存中,直接從內存查詢則可。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖西县| 竹北市| 镇原县| 托里县| 宣威市| 乌拉特中旗| 广东省| 贵港市| 凤阳县| 保德县| 清苑县| 满城县| 治多县| 丰镇市| 富平县| 富裕县| 临汾市| 沽源县| 鹤岗市| 巍山| 南开区| 黎城县| 肇庆市| 新田县| 巨野县| 合水县| 婺源县| 肥东县| 凤庆县| 桐乡市| 邻水| 贡山| 巴彦淖尔市| 云阳县| 云和县| 开平市| 永春县| 舟曲县| 纳雍县| 扎赉特旗| 伽师县|