1. 不要把select子句寫成 select *
select * from t_emp;2. 對order by排序的字段設定索引
3. 少用is null
select ename from t_emp where comm is null; #不使用索引4. 盡量少用 != 運算子select ename from t_emp where comm =-1;
select ename from t_emp where deptno!=20; #不使用索引5. 盡量少用 or 運算子select ename from t_emp where deptno<20 and deptno>20;
select ename from t_emp where deptno=20 or deptno=30; #不使用索引6. 盡量少用 in 和 not in 運算子select ename from t_emp where deptno=20
union all
select ename from t_emp where deptno=30;
select ename from t_emp where deptno in (20,30); #不使用索引7. 避免條件語句中的資料型別轉換select ename from t_emp where deptno=20
union all
select ename from t_emp where deptno=30;
select ename from t_emp where deptno=『20』;8. 在表示式左側使用運算子和函式都會讓索引失效
select ename from t_emp where salary*12>=100000; #不使用索引關於sql優化還有很多很多,後續我也會為大家打來更詳細的的sql優化細節,及mysql調優方面的相關知識。select ename from t_emp where salary>=100000/12;
select ename from t_emp where year(hiredate)>=2000; #不使用索引
select ename from t_emp
where hiredate>=『2000-01-01 00:00:00』;
面試經常被問到 拉鍊表
致力做乙個首先想的是怎麼幫助別人的人 點讚再看,幫我個忙剛工作的時候,有個厲害的同學比我先去公司實習,回到學校就跟我說拉鍊表的有關知識,而且後來跳槽面試時也被問到拉鍊表,所以想寫一下拉鍊表,希望能幫到萬一面試也被問到拉鍊表的同學。比如銀行評價乙個客戶的等級,是根據客戶的資產多少來評定的,而且根據國家...
Oracle的資料優化 經常被問到 ?
以oracle資料庫舉例 a g要求掌握,h一般為dba操作,了解就可以了 a。建庫 已知將儲存海量資料的時候,因為oracle是通過使用者來管理資料的,第一步我們先建乙個tableaspace 假設表空間名為test 然後建立使用者test 一般情況下使用者名稱和表空間同名 建立的使用者test使...
面試中經常被問到的問題
1 請簡單解釋演算法是什麼?演算法是乙個定義良好的計算過程,它將一些值作為輸入並產生相應的輸出值。簡單來說,它是將輸入轉換為輸出的一系列計算步驟。2 解釋什麼是快速排序演算法?快速排序演算法能夠快速排序列表或查詢。它基於分割交換排序的原則,這種型別的演算法占用空間較小,它將待排序列表分為三個主要部分...