4.3 sql_mode限制
官方强烈建议你在创建分区表后,永远别改变mysql的sql_mode。因为在不同的模式下,某些函数或者运算返回的结果可能会不一样。mysql分区表
4.4 Performance considerations.(省略)
4.5 最多支持1024个分区,包括子分区。
当你建立分区表包含很多分区但没有超过1024限制的时候,如果报错 Got error 24 from storage engine,那意味着你需要增大open_files_limit参数。
4.6 不支持外键。MYSQL中,INNODB引擎才支持外键。
4.7 不支持FULLTEXT indexes(全文索引),包括MYISAM引擎。
mysql>CREATETABLEarticles(
->idINTUNSIGNEDAUTO_INCREMENTNOTNULLPRIMARYKEY,
->titleVARCHAR(200),
->bodyTEXT,
->FULLTEXT(title,body)
->)
->PARTITIONBYHASH(id)
->PARTITIONS4;
ERROR1214(HY000):Theusedtabletypedoesn'tsupportFULLTEXTindexes
4.8 不支持spatial column types。
4.9 临时表不能被分区。
mysql>CREATETemporaryTABLEt1
->(idINTNOTNULL,
->uidINTNOTNULL,
->PRIMARYKEY(id)
->)
->PARTITIONBYRANGE(id)
->(PARTITIONp0VALUESLESSTHAN(5)ENGINE=MyISAM,
->PARTITIONp1VALUESLESSTHAN(10)ENGINE=MyISAM
->);
ERROR1562(HY000):Cannotcreatetemporarytablewithpartitions
4.10 log table不支持分区。
mysql>altertablemysql.slow_logPARTITIONBYKEY(start_time)PARTITIONS2;
ERROR1221(HY000):IncorrectusageofPARTITIONandlogtable
5.11 分区键必须是INT类型,或者通过表达式返回INT类型,可以为NULL。唯一的例外是当分区类型为KEY分区的时候,可以使用其他类型的列作为分区键( BLOB or TEXT 列除外)。
mysql>CREATETABLEtkc(c1CHAR)
->PARTITIONBYKEY(c1)
->PARTITIONS4;
QueryOK,0rowsaffected(0.00sec)
mysql>CREATETABLEtkc2(c1CHAR)
->PARTITIONBYHASH(c1)
->PARTITIONS4;
ERROR1491(HY000):ThePARTITIONfunctionreturnsthewrongtype
mysql>CREATETABLEtkc3(c1INT)
->PARTITIONBYHASH(c1)
->PARTITIONS4;
QueryOK,0rowsaffected(0.00sec)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25161-2.html
扶植此人推翻合法巴拿马政府做了总统