純屬我的總結,寫的有問題,請提出,多謝!mysql
1.【強制】 全局表不容許update操做sql
2.【強制】select中的join操做不容許超過2張表.mybatis
3.【強制】不容許使用select * 查詢,必須指定返回的字段 框架
4.【強制】不容許使用select 語句不帶任何查詢條件(遍歷分片數據,性能受到極大影響)性能
5.【強制】ER表不容許更新關聯主鍵。優化
6.【強制】拆分字段只能是一個字段命令行
7.【強制】insert into語句必須包含完整的字段名稱。orm
8.【強制】select語句中對order by,having,group by等條件的的字段不能取別名事務
9.【強制】lock table語句不支持,如select ..... for update;table
10.【建議】 update語句儘可能根據主鍵更新,避免跨庫掃描問題.
11.【建議】mycat畢竟不是純mysql,不少語句都須要提早評估:
a).跨越太多節點的查詢語句
· b).不能 Join 的表和相關的 Join SQL
· c).很影響性能的複雜 SQL
12.【建議】 打開sql統計分析功能,對慢sql作好優化
13.【建議】一個事物中,跨越的分片數量越少越好.
14.【建議】orm框架儘可能使用能控制SQL的,好比mybatis
15.【建議】事務建議手動控制.
16.【建議】使用9066端口鏈接後臺管理監控命令行,監控mycat。