sql-optimization

    5熱度

    2回答

    我在一個有大約100k記錄的表中有這個查詢,它運行速度很慢(3-4s),當我取出這個組時速度更快(小於0.5s)。我很爲虧損怎樣做才能解決這個問題: SELECT msg.id, msg.thread_id, msg.senderid, msg.recipientid, from_user.username AS from_name, t

    0熱度

    3回答

    我從來沒有在MySQL中使用IN的良好性能,並且我再次遇到了性能問題。 我試圖創建一個視圖。它的相關部分是: SELECT c.customer_id, .... IF (c.customer_id IN ( SELECT cn.customer_id FROM customer_notes cn ), 1, 0) AS has_notes

    2熱度

    2回答

    select .. from ( Select ... from ... order by weight desc limit N ) order by rand() limit 1 以上需要每次都創建一個臨時表,這是不高效的,所以它沒有資格。 如何正確地做到這一點?

    12熱度

    7回答

    數據庫優化技術,我們可以得到一個基本的優化技術準備清單(任何從建模到查詢,創建索引,視圖,查詢優化)。這將是一件很好的事情,每個答案都有一個技巧。作爲業餘愛好者,我會覺得這非常有用,謝謝。 爲了不太模糊,假設我們使用的是maintstream數據庫,例如MySQL或Oracle,並且數據庫將包含大約10萬個表中的500,000-1m左右的記錄,其中一些包含外鍵約束,都使用最典型的存儲引擎(例如:I

    3熱度

    3回答

    我已存儲的房間預訂表,該架構是: ID | ROOM_ID | CHECK_IN_DATE | CHECK_OUT_DATE | USER_ID 我需要運行的客房,其搜索查詢在設定的日期範圍內可用/不可用。 也請記住,存在着當室內prebooked和保持日期另一個表的格式爲: ROOM_ID | DATE ,所以我需要運行一個查詢,看起來一組範圍內可用客房,我將如何制定查詢? 我在這裏使用

    2熱度

    5回答

    這是一個複雜的情況,我是ain。我有預訂房間的預訂系統。 事情是房間的價格不是作爲一個單一的價值儲存,而是以期間爲基礎。就像一個房間可以在九月到十二月之間有一個每日房價,並且在三月到八月之間可以有一個不同的房價,而另一個房間的基本房價則可以。 率表是這樣的: ROOMID | RATE | PERIOD_START | PERIOD_END 讓我們假設對於到3月31日3月1日之間的房,價格爲2

    2熱度

    1回答

    我有一個數據庫表,我需要驗證用戶是否輸入了相同或部分相同的信息。 下面是我在想什麼 的DB佈局 rec_id (pk), user_id, name, phone, address_1, address_2, zip, company, co_phone, co_address_1, co_address_2, co_zip, billing, bi_phone, bi_address_1,

    0熱度

    3回答

    這個問題既理論又實用。任何結果表明優化查詢有用的資源將不勝感激。 有一個大型SQL數據庫,它存儲大量存儲在SQLXML字段中的數據。直接查詢XML並不夠快。 我看過一些有關優化SQLXML的MSDN文章(即http://msdn.microsoft.com/en-us/library/aa902661(SQL.80).aspx),我知道索引可搜索的xml字段將提高搜索速度。 任何人都可以推薦任何額

    0熱度

    2回答

    我在MySQL中使用UNION以將兩個單獨查詢的結果彙總在一起。 這兩個查詢使用了很多相同的表。無論如何要利用這個優化查詢? SELECT 2 AS RELEVANCE_SCORE_TYPE, VIEWER_ID, QUESTION_ID, sum(ANSWER_SCORE) AS RELEVANCE_SCORE FROM(SELECT cr.COMMUNIC

    3熱度

    2回答

    我在嘗試優化包含交叉連接的查詢。我有一個大的查詢,我繼續與派生表交叉連接。 它是否通過將派生錶轉換爲視圖來提高查詢速度?甚至在永久性表格中捕獲這些信息? 這裏是我的查詢 SELECT VIEWER_ID, QUESTION_ID, ANSWER_ID, sum(ANSWER_SCORE) AS ANSWER_SCORE_SUMMED FROM(SELECT c