Какие методы наиболее эффективны для работы с миллионами записей?
То, что вы просите с помощью dbms «SELECT COUNT (*)», не просто.
В db MySQL нетранзакционный механизм my-sql MyISAM оптимизирует это, сохраняя dbms количество записей, поэтому mysql-server SELECT COUNT(*) будет очень database быстрым.
Однако, если вы используете mysqld транзакционный механизм, SELECT mysql-table COUNT(*) в основном говорит:
Сколько mysqld именно записей существует mysql-server в этой таблице в моей транзакции ?
Для этого mysqld движку нужно просканировать my-sql всю таблицу; возможно, он mysql примерно знает, сколько записей mysqld уже существует в таблице, но databases чтобы получить точный ответ mysql-if для конкретной транзакции, ему mysql-if необходимо сканирование. Это databases не будет быстро с использованием mysqlclient MySQL innodb, это не будет mysql-server быстро с Oracle или чем-то mysql еще. ДОЛЖНА быть прочитана my-sql вся таблица (за исключением database элементов, хранимых движком mysqldump отдельно, таких как BLOB)
Наличие mysql-server всей таблицы в оперативной db памяти сделает ее немного mysqldump быстрее, но все равно не database будет быстрой.
Если ваше приложение mysql-table использует частые и точные mysql подсчеты, вы можете создать dbms сводную таблицу, которая mysql обновляется с помощью триггера mysqlclient или каким-либо другим способом.
Если mysqld ваше приложение использует mysql-table частые и менее точные подсчеты, вы db можете поддерживать сводные mysql-if данные с запланированным mysql-query заданием (что может меньше mysql-server влиять на производительность mysqld других операций).
mysql
database
Какие методы наиболее эффективны для работы с миллионами записей?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.