如何提高MySQL指令碼的執行速度?

發布 科技 2024-03-28
2個回答
  1. 匿名使用者2024-02-07

    SQL 語句不正確。

    我的答案呢?

  2. 匿名使用者2024-02-06

    1.盡量不要在 where 中包含子查詢;

    對於時間查詢,盡量不要寫成:where to char(dif date,'yyyy-mm-dd')=to char('2007-07-01 ,'yyyy-mm-dd');

    2.在過濾條件中,可以過濾掉最大記錄數的條件必須放在 where 子句的末尾;

    首先處理 from 子句末尾寫的表(驅動表),如果 from 子句包含多個表,則必須選擇記錄最少的表作為基表。 如果有三個以上的聯接查詢,則需要選擇乙個交集表作為基礎表,該表是其他表引用的表。

    3.採用繫結變數。

    4.盡量不要使用或在什麼地方使用

    5.將 in 替換為 exists,而不是 not exist,而不是 not in;

    6.避免對索引列使用計算:其中 sal*12>25000;

    7.使用 in 代替 or:其中 loc id=10 或 loc id=15 或 loc id=20

    8.避免在索引列上使用 is null 和 is not null;

    9.始終使用索引的第一列;

    10.用 union-all 代替 union;

    11.避免更改索引列的型別:select...。從emp where empno='123'(由於隱式資料型別轉換)到char(empno)='123',因此不會使用索引,它通常會出現在使用字串拼湊的動態SQL語句中;

    12.’!=' 不會使用索引;

    13.優化分組依據;

    14.避免使用帶有類似引數的萬用字元,例如“4ye%”使用索引,但“%ye”不使用索引。

    15.避免使用困難的正式表示式,例如select * from customer where zipcode,如“98 即使索引建立在郵政編碼上,在這種情況下,它仍然是順序掃瞄。 如果將語句改為選擇 * from customer where zipcode>“98000,則在執行查詢時會使用索引進行查詢,這顯然會大大提高速度;

    16.盡可能顯式地完成 SQL 語句,並盡可能少地讓資料庫工作。 例如,在編寫 select 語句時,需要指定查詢欄位的表名。

    盡量不要使用 select * 語句。 在組織SQL語句時,盡量按照資料庫的習慣進行組織。

相關回答
4個回答2024-03-28

有幾種方法可以清理計算機的記憶體: >>>More

2個回答2024-03-28

1. MySQL資料庫有幾個配置選項,可以幫助我們及時捕獲低效的SQL語句1、慢查詢日誌 >>>More

7個回答2024-03-28

讓我們換乙個SSD,我剛剛換了。 幾秒鐘內的坦克世界。

4個回答2024-03-28

在不更改任何硬體的情況下,對計算機進行一些優化。 >>>More

3個回答2024-03-28

閱讀中冗長而困難的句子。

在閱讀長而困難的句子時,閱讀和翻譯中超過60%的問題都與此有關。 很多人說去Ken Grammar—— >>>More