私は非常に単純なテーブルを持っています
CREATE TABLE IF NOT EXISTS `largecache` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tooltip` varchar(255) NOT NULL,
`name` varchar(100) NOT NULL,
`attributes` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `tooltip` (`tooltip`)
) ENGINE=InnoDB
ほぼ完全に読み取りに使用される約 800 万のエントリがあります。できるだけ早くデータにアクセスしていることを確認しようとしています。現在 InnoDB を使用していますが、MyISAM に切り替える価値はありますか? 私の唯一の懸念は、読み取りのパフォーマンスです。また、DB の読み取りがアプリケーションの唯一のボトルネックであるため、速度を上げるために使用できる他の推奨事項もあります。
MySQL クライアントのバージョンを使用しています: 5.1.47
ありがとう。
[編集: 詳細] 私は php を使用しており、ツールチップ フィールドの正確な一致に基づいてクエリを実行しています。1 ギガの RAM を備えた共有 VPS でホストされています。mysql を微調整してみますが、mysql の微調整はかなり複雑な問題であることはわかっています。
クエリの例:
select * from largecache where `tooltip` = "Cm8IuIyq9QMSBwgEFS0iGWAd30SUNR2EHJ0nHYYCY-odxZ6okR0pEnPgHWzQbvIiCwgBFXZCAwAYCCAiMAk4_gNAAEgPUBBg_gNqJQoMCAAQvKHZ5oCAgIA6EhUIrcC1xggSBwgEFUn1i18wCTgAQAEY2ojJgQxQAlgA"
APC はインストールされていますが、memcached はインストールされていません