纯属我的总结,写的有问题,请提出,多谢!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。