標籤:
MySQL
1、不支援物化視圖。
2、不支援位元影像索引。
3、不支援並行查詢。
4、不支援雜湊關聯,MySQL的所有關聯都是嵌套迴圈關聯。不過,可以通過建立一個雜湊索引來曲線實現。
5、不允許對同一表同時進行查詢和更新。
報錯: UPDATE tb1 AS outer_tb1 SET cnt = (SELECT count(*) FROM tb1 AS inner_tb1 WHERE inner_tb1.type= outer_tb1.type);
產生表繞過限制: UPDATE tb1 INNER JOIN (SELECT type,count(*) AS cnt FROM tb1 GROUP BY type) AS der USING(type) SET tb1.cnt = der.cnt;
分區: CREATE TABLE sales( order_date DATETIME NOT NULL )ENGINE = INNODB
PARTITION BY RANGE(YEAR(order_date))(
PARTITION p_2010 VALUES LESS THAN (2010),
PARTITION p_2011 VALUES LESS THAN (2011),
PARTITION p_2012 VALUES LESS THAN (2012),
PARTITION p_catchall VALUES LESS MAXVALUE );
NULL值會使分區過濾無效 例如,如果所有order_date 為NULL 或者是一個非法值的時候,記錄都會被存放在第一個分區。
WHERE order_date BETWEEN ‘2010-01-01‘ AND ‘2010-12-02‘,MySQL會檢查兩個分區,因為第一個分區YEAR()函數在接收非法值的時候會返回NULL值。可以使用PARTITION p_nulls VALUES LESS THAN (0) 來建立一個"無用"的第一個分區。這樣即使需要檢測第一個分區,代價也非常小。
MySQL不支援的特性