, Это не происходит с InnoDB.
я есть таблица, в которой хранятся обзоры продуктов для веб-сайта. Таблица использует varchar (1000) для хранения комментариев к обзору, среднее время ответа составляет 0,5 секунды. Я изменил тип данных столбца, в котором хранятся данные, на средний текст, и время отклика страницы увеличивается до 1,5 - 2 секунд. С учетом того, что в столбец не было добавлено никаких дополнительных данных, код PHP такой же.
Я не думаю, что время запроса является проблемой, так как MySQL сообщает, что оно занимает 0,019 сек, что одинаково для varchar или mediumtext.
Я в недоумении, чтобы понять, что здесь произошло. Я использую MySQL PDO и PHP. Я не знаю, является ли это проблемой сервера, врожденной проблемой со средним текстом или чем-то еще полностью.
Я попытался изменить тип таблицы с MyISAM на InnoDB, но это не имело никакого значения.
Вот код PHP:
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$attrs = array(PDO::ATTR_PERSISTENT => true);
$pdo = new PDO($dsn, $user, $pass, $attrs);
$stmt = $pdo->prepare("SELECT SQL_NO_CACHE comment
FROM reviews_product_comments
WHERE part_id =:partid
and language =:language");
foreach ($parts as $part) {
// bind the parameters
$stmt->bindValue(":partid", $part);
$stmt->bindValue(":language", "en");
if ($stmt->execute()) {
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$comment = $row['comment'];
echo $comment . "<br>";
}
}
}
$pdo = null;
Есть идеи?