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不支援top 支援limit
今天偶爾發現mysql居然不支援top語句,之前用hibernate記得用過top語句。原因是 mysql的確是不支援top語句,之前用的是hql語句,是hibernate幫你翻譯成mysql支援的語句的。通常hibernate的用法 select top 5 id,name,password fr...
MySQL不支援動態表名
今天寫乙個資料遷移的儲存過程,用到了動態表名,發現mysql不支援直接使用變數做表名。然後就用下面的方式來做了。drop procedure if exists p transfer data delimiter create procedure p transfer data begin decl...
mysql 不支援多例項 mysql多例項
msyql多例項常見配置方案 1 多配置檔案部署方案 即本文主要講解的方案,通過配置多個配置檔案及多個啟動程式來實現的方案,這是比較推薦的方法 2 單一配置檔案部署方案 mysql配置檔案樣例 msyql 手冊裡提到的方法 mysql multi mysql usr bin mysql safa m...