2017-08-30 13 views
0

私は正確に470列のテーブルを持っています。私は、Djangoのユニットテストに取り組んでいますし、テストでは、私は、コマンドのpython manage.pyテスト実行時にエラーを与えて実行されません(> 8126)が大きすぎるmy.cnfファイルのinnodb_page_sizeを変更してもmysqlデータベースが再起動しません

行サイズを。一部の列をTEXTまたはBLOBに変更するか、またはROW_FORMAT = DYNAMICまたはROW_FORMAT = COMPRESSEDを使用すると役立ちます。 現在の行形式では、768バイトのBLOB接頭辞は、私は、MySQLのmy.cnfファイルにinnodb_page_sizeを増加しようとしていますこの問題を解決するには、インライン

を格納しています。 my.cnfファイルの値を変更した後にMySQLサーバを再起動すると、MySQLは再起動しません。

私はほとんどすべての利用可能なソリューションをstackoverflowで試しましたが、成功しませんでした。

MySQLバージョン5.5.57 = Ubuntuのバージョン= 16.04

任意の助けを大幅に高く評価されるだろう。ありがとうございました

答えて

0

ブロックサイズを大きくするという機能を誰も見たことがないので、私はそれを動作させる経験がありません。そして私はあなたが最初に試してみることをお勧めします。

代わりに、いくつかの回避策を用意しています。

盲目的にVARCHAR(255)を使用しないでください。関係するデータの長さを現実的にする。

asciiのみを持つことができる列にはuf8(またはutf8mb4)を使用しないでください。例:郵便番号、16進文字列、UUID、country_codeなどCHARACTER SET asciiを使用してください。

テーブルを垂直に分割します。それは同じPRIMARY KEYの2つのテーブルに吐き出されます。

列間に配列を表示しないでください。別のテーブルを使用し、複数の行を持ちます。例:phone1、phone2、phone3。

関連する問題