資料庫查詢速度非常慢

發布 科技 2024-06-29
5個回答
  1. 匿名使用者2024-01-30

    僅通過檢視 SQL 很難判斷。

    我不知道你的查詢是否很慢。

    它在搜尋的地方很慢。

    6) and ,3)

    在排序的地方仍然很慢。

    distinct

    order by asc

    在檢索的地方很慢。

    如果允許索引。

    然後,clients 表建立乙個包含兩個欄位的索引:(userid, serverid)。

    然後,clientinfo 表建立乙個包含兩個公式的索引:(left(userid,6) 和 right(userid,3))。

    但是,不能保證索引會起作用。

    如果兩個字段大部分相同,估計不會有太大影響。

    如果索引建立後沒有效果,則將其刪除,不要影響其他操作。

  2. 匿名使用者2024-01-29

    將索引新增到 clients 表的首次索引。

  3. 匿名使用者2024-01-28

    在資料庫伺服器上的 mysql 視窗中執行,並很快將超過 100W 的記錄匯出到 excel。

    mysql> select * into outfile '/tmp/rpt_style1_' from `csf_pub`.`rpt_style1_0` ;

    query ok, 1628696 rows affected ( sec)

  4. 匿名使用者2024-01-27

    這樣做的方法有很多種,第一種是優化查詢SQL避免全表搜尋,第二種是新增聯合索引,第三種是使用表分割槽來儲存資料,SQL直接查詢對應的分割槽表。

  5. 匿名使用者2024-01-26

    問:我們有乙個 sql,用於查詢沒有主鍵和唯一鍵的表,但它在 mysql 上執行得很慢,我們該怎麼辦?

    在實驗中,我們設定了乙個MySQL環境,這裡省略了構建步驟。

    編寫乙個簡單的指令碼來製作一批帶主鍵和不帶主鍵的表:

    執行以下指令碼:

    現在執行以下 sql 檢視效果:

    執行,感覺很慢。

    現在我們用DBA三板斧頭,看一下執行計畫:

    感覺有點苦,因為資訊是元資料表,沒有必要的統計資訊。

    讓我們顯示警告並看一下 mysql 重寫後的 sql

    讓我們格式化 sql:

    你可以看到 mysql 會。

    select from a where not in (select x from b) 是非關聯子查詢。

    我轉換了它。 從不存在的地方選擇(從 B 中選擇 1,其中 = 關聯的子查詢。

    如果我們自己是MySQL,我們可以在執行非關聯子查詢時使用乙個非常簡單的策略:

    select from a where not in (select x from b where ..非關聯子查詢:1

    掃瞄表B中的所有記錄,找到符合條件的記錄,將其儲存在臨時表C中,並建立索引2掃瞄表 A 中的記錄,將其與臨時表 C 中的記錄進行比較,並直接在索引中進行比較,而關聯子查詢需要迴圈迭代:

    select from a where not exists (select 1 from b where = and ..關聯的子查詢掃瞄表 A 的每個記錄 RA:掃瞄表 B 以查詢滿足 RA 條件的第一條記錄。

    顯然,關聯子查詢的掃瞄成本將高於非關聯子查詢的掃瞄成本。

    我們希望MySQL能排在第一位"快取"子查詢的結果(快取這一步稱為物化),但是MySQL認為不快取更快,所以我們需要給MySQL一些指導。

    可以看到執行時間變成了 。

    1.對於資訊架構中的元資料表,執行計畫不提供有效資訊。

    2.通過檢視 MySQL 重寫的 SQL,我們猜測優化器存在誤報。

    3.我們新增了提示來指導 MySQL 做出正確的優化判斷。

    但目前,我們的實驗僅限於猜測,如果我們猜對了,一切都會好起來的,如果我們猜不到,我們將無法做出好的診斷。

相關回答
5個回答2024-06-29

奧拉爾塞?

select a.名稱,A**,wm_concat(b. >>>More

4個回答2024-06-29

例如,查詢效能較差的 10 個 sql

select * from >>>More

12個回答2024-06-29

Microsoft Access 是乙個關聯式資料庫,它由一系列表組成,而表又由一系列行和列組成,每行是一條記錄,每列都是乙個字段,每個欄位都有乙個欄位名,欄位名稱不能在表中重複。 圖 1 顯示了“產品”表的示例。 “產品”表由 10 條記錄組成,一條記錄佔一行,每條記錄由 6 個字段組成:產品 ID、產品名稱、庫存數量、訂單數量、單價和折扣率。 >>>More

10個回答2024-06-29

我沒有嘗試過,但應該可以,從資料中找到值,返回乙個資料表,然後遍歷該值並將其複製到另乙個文字中。

5個回答2024-06-29

1.找到你的MySQL的安裝目錄並開啟它,如果它是Linux伺服器,那就是; >>>More