sql >> データベース >  >> RDS >> Mysql

varcharからmediumtextに変更すると、パフォーマンスが低下します

    2つのデータ型は実質的に同じように処理されます。停滞には他にも多くの理由が考えられます。 (しかし、私が知っている限り、MEDIUMTEXTとは言えません。 VARHARよりも悪い 。)

    では...Webページを高速化できるかどうか見てみましょう...

    microtime(true)を入力します mysql呼び出しの周り-それがPHPではなくMySQLであることを確認します。 「0.019秒」は理にかなっています。 「1.5-2秒」はPHPで何かが起こっているように聞こえます。

    InnoDBを使用します。ではありません MyISAM。 (反対の主張にもかかわらず。)

    正しく調整してください。 SHOW VARIABLES LIKE '%buffer%';を見てみましょう どのくらいのRAMがありますか? (スワッピングはパフォーマンスにとってひどいものです。)

    何行返されますか? Webページに数十を超えることは実用的ではないため、ORDER BY...LIMIT...を追加します。 。

    UIの制限が1000文字の場合は、TEXTを使用します またはVARCHAR(1000)MEDIUMTEXTではありません 。最大64Kバイトを上げようとしている場合(潜在的に 4Kutf8mb4文字 )、次にTEXTを使用します 。

    これは必要です(列はどちらの順序でも):

    INDEX(part_id, language)
    

    MyISAMテーブルに多くの「チャーン」(削除や更新の後に挿入が続く)があった場合、データが断片化される可能性があるため、処理が遅くなります。これは、両方のVARCHARで発生する可能性があります およびTEXT 。これはInnoDBでは発生しません。




    1. hibernate5.0.1およびMySQLの構成中にエラーが発生しました

    2. MySQL ODBCの問題:データソース名が見つからず、デフォルトのドライバーが指定されていません

    3. MySQL5.7を完全に削除する

    4. ajax関数とphpで行を削除します