某些情況下, 需要 多個非常大的表關聯的情況下, 但是需要檢索的, 是少量的資料的時候.可以先把 大表的資料, 檢索出那一小部分, 然後插入到 臨時表中, 最後再關聯處理.例如:某百貨公司的資料庫.裡面有下面這2張 沒有分割槽的表銷售表: 銷售日期, 銷售流水號, 銷售金額銷售明細表: 銷售流水號, 銷售物品, 銷售數量當上面的表裡面,包含幾年的資料以後。假如你要查詢 昨天的銷售合計。 很簡單SELECT * FROM 銷售表 WHERE 銷售日期 = 昨天。但是當你要查詢 昨天的銷售的, 某種商品的 銷售情況的時候。 就要SELECT ...... FROM 銷售表 JOIN 銷售明細表 ON (銷售表.銷售流水號 = 銷售明細表.銷售流水號) WHERE 銷售表.銷售日期 = 昨天 AND 銷售明細表.銷售物品 =某物品這種情況下,由於2個大表關聯,查詢時間非常的長。可以透過臨時表。先INSERT INTO 臨時表1 SELECT * FROM 銷售表 WHERE 銷售日期 = 昨天然後再INSERT INTO 臨時表2 SELECT * FROM 銷售明細表 WHERE 銷售流水號 IN (SELECT 銷售流水號 FROM 臨時表1)最後SELECT ......FROM 臨時表1 JOIN 臨時表2 ON (臨時表1.銷售流水號 = 臨時表2.銷售流水號) 這樣就是 2個小表關聯處理,查詢起來,速度快一些。
某些情況下, 需要 多個非常大的表關聯的情況下, 但是需要檢索的, 是少量的資料的時候.可以先把 大表的資料, 檢索出那一小部分, 然後插入到 臨時表中, 最後再關聯處理.例如:某百貨公司的資料庫.裡面有下面這2張 沒有分割槽的表銷售表: 銷售日期, 銷售流水號, 銷售金額銷售明細表: 銷售流水號, 銷售物品, 銷售數量當上面的表裡面,包含幾年的資料以後。假如你要查詢 昨天的銷售合計。 很簡單SELECT * FROM 銷售表 WHERE 銷售日期 = 昨天。但是當你要查詢 昨天的銷售的, 某種商品的 銷售情況的時候。 就要SELECT ...... FROM 銷售表 JOIN 銷售明細表 ON (銷售表.銷售流水號 = 銷售明細表.銷售流水號) WHERE 銷售表.銷售日期 = 昨天 AND 銷售明細表.銷售物品 =某物品這種情況下,由於2個大表關聯,查詢時間非常的長。可以透過臨時表。先INSERT INTO 臨時表1 SELECT * FROM 銷售表 WHERE 銷售日期 = 昨天然後再INSERT INTO 臨時表2 SELECT * FROM 銷售明細表 WHERE 銷售流水號 IN (SELECT 銷售流水號 FROM 臨時表1)最後SELECT ......FROM 臨時表1 JOIN 臨時表2 ON (臨時表1.銷售流水號 = 臨時表2.銷售流水號) 這樣就是 2個小表關聯處理,查詢起來,速度快一些。