Одне, що потрібно враховувати, - це те, як MySQL використовує буфери для своїх основних механізмів зберігання даних: InnoDB та MyISAM .
Те, що лежить в пам’яті, сильно відрізняється між цими системами зберігання даних.
InnoDB кешує як дані, так і сторінки покажчиків. Вони завантажуються в буферний пул InnoDB, розмір якого розмір innodb_buffer_pool_size .
MyISAM кешує лише індексні сторінки, і вони завантажуються в кеш-пам'ять клавіш (Key Buffer), розмір якого розмір key_buffer_size .
Ви повинні використовувати information_schema.tables, щоб отримати дані та розміри індексу, зайняті на диску, щоб правильно розмістити пул буфера InnoDB та кеш-ключ MyISAM .
Залежно від того, скільки у вас є даних і скільки часу ви дозволите, ви можете зігріти кеші таким чином:
Для кожної таблиці TableT
- перейти до кожного індексу NDX
- для кожного індексу NDX
- запустіть SELECT кожен стовпець у NDX, принаймні один стовпець, не індексований у TableT від TableT
Цим ви гарантуєте, що кожну сторінку даних та покажчиків читайте хоча б раз Вони будуть сидіти в схованку. Ця концепція частково і в принципі практикується Перконою . Перкона вбудував цю концепцію в mk-slave-prefetch . Що ця програма робить
- читати журнали ретрансляції на підлеглому, перш ніж підлеглий обробляє в ньому SQL
- взяти оператор SQL з журналу ретрансляції та перетворити його в SELECT, використовуючи пропозиції WHERE, GROUP BY і ORDER BY як керівництво до вибору індексів
- виконати оператор SELECT, який прийшов з перетвореного SQL
Це змушує підлеглого мати 99,99% даних, необхідних підлеглому для швидкої обробки SQL. Це також робить раба підготовленим у випадку, коли ви вручну переходите на раба і просуваєте його до господаря, КОГО КАШИ ПОДІЄТЬСЯ ПРО ТЕБЕ, ЯК МАЙСТЕР, ЩО ВИ НЕ ПОТРІБНО.
ВИСНОВОК
Ніщо не може бути готовим, бажаючим і здатним кешами для використання в обстановці важких ВСТАНОВЛЕННЯ, ОНОВЛЕННЯ та ВИДАЛЕННЯ.
Спробувати !!!
КАВАТИ
З народженням продуктів, таких як запам’ятовування, деякі відійшли від необхідності належної настройки MySQL. Зрозуміло, що багато сайтів отримують перевагу від збільшення завантаження даних, що забезпечується керуванням кешування поведінки даних, оскільки розробники швидко бачили з запам'ятовуванням. Багато інших сайтів, лише перемикаючи накопичувачі двигунів або правильно налаштовуючи MySQL, зрозуміли ті самі переваги продуктивності. Перш ніж відмовитися від бази даних і суворо використовувати її як сховище, максимально використайте свою базу даних. Дотримуйтесь уважної уваги, і ви можете бути приємно здивовані тим, що MySQL зробить для вас.