phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

MySql - WAMP - Огромната таблица е много бавна (20 милиона реда)

Някои отговори:

  • 20 милиона реда са в рамките на възможностите на MySQL. Работя върху база данни, която има над 500 милиона реда в една от таблиците. Преструктурирането на таблица може да отнеме часове, но обикновените заявки не са проблем, стига да са подпомогнати от индекс.

  • Вашият лаптоп е доста остарял и с недостатъчна мощност, за да се използва като сървър на база данни от голям мащаб. Преструктурирането на таблицата ще отнеме много време. Малкото количество памет и обикновено бавен диск на лаптоп вероятно ви ограничават. Вероятно използвате и настройките по подразбиране за MySQL, които са проектирани да работят на много стари компютри.

  • Не бих препоръчал използването на TEXT тип данни за всеки колона. Няма причина да се нуждаете от TEXT за повечето от тези колони.

  • Не създавайте индекс за всяка колона, особено ако настоявате да използвате TEXT типове данни. Не можете дори да индексирате TEXT колона, освен ако не дефинирате индекс на префикс . Като цяло, изберете индекси, които да поддържат конкретни заявки.

Вероятно имате много други въпроси въз основа на горното, но има твърде много за покриване в една публикация на StackOverflow. Може да искате да преминете обучение или да прочетете книга, ако ще работите с бази данни.
Препоръчвам Високопроизводителен MySQL, 2-ро издание .

Повторете вашите последващи въпроси:

За настройката на MySQL ето едно добро място за начало:http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

Много операции ALTER TABLE причиняват преструктуриране на таблицата, което означава основно заключване на таблицата, правене на копие на цялата таблица с приложените промени и след това преименуване на новата и старата таблица и премахване на старата таблица. Ако масата е много голяма, това може да отнеме много време.

Тип данни TEXT може да съхранява до 64KB, което е излишно за телефонен номер или състояние. Бих използвал CHAR(10) за типичен телефонен номер в САЩ. Бих използвал CHAR(2) за американски щат. Като цяло използвайте най-компактния и пестелив тип данни, който поддържа диапазона от данни, от които се нуждаете в дадена колона.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. как да напиша процедура за вмъкване на данни в таблицата в phpmyadmin?

  2. Не може да се свърже с phpMyAdmin на MAMP

  3. Автоматично увеличение при пропускане на числа?

  4. Часова зона на базата данни

  5. Разширението mbstring липсва. Моля, проверете вашата PHP конфигурация