Быстрый и точный подсчёт количества строк в большой таблице - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день, может кто подскажет такую вещь написал клиент для работы с бд и нужно при старте показывать количество записей в таблице.
Листинг программы
  1. SELECT COUNT(*) FROM
работает очень долго, в таблице будет от 500млн. до 2млрд записей таблица Inno_DB MYSQL. У меня за час так и не посчитал кол-во строк. Попробовал на 20млн записей заняло около 30 сек. Может есть какая-нибудь возможность заранее где-нибудь запустить эту процедуру подсчета и хранить где-то значение или как-нибудь по другому получить его. Или вот допустим идея добавить колонку id(int) auto increment и делать запрос последней строчки, получается же последняя строчка будет равна количеству записей в бд ? В общем буду благодарен за любые идеи помощь. Время запроса, ну может максимум должно быть 10-15 сек. Спасибо.

Решение задачи: «Быстрый и точный подсчёт количества строк в большой таблице»

textual
Листинг программы
  1. LOAD DATA INFILE 'data.txt'
  2. IGNORE INTO TABLE tablename
  3. CHARACTER SET UTF8
  4. FIELDS TERMINATED BY ':'
  5. LINES TERMINATED BY '\r\n' (col1, col2);

Объяснение кода листинга программы

  1. LOAD DATA INFILE 'data.txt' - команда для загрузки данных из файла 'data.txt' в таблицу
  2. IGNORE INTO TABLE tablename - указывает, что данные нужно загрузить в таблицу, игнорируя строки, которые не соответствуют структуре таблицы
  3. CHARACTER SET UTF8 - указание, что данные в файле и в таблице должны быть совместимы по кодировке (в данном случае UTF-8)
  4. FIELDS TERMINATED BY ':' - указание разделителя полей (в данном случае ':')
  5. LINES TERMINATED BY '\r\n' - указание разделителя строк (в данном случае '\r\n')
  6. (col1, col2) - указание столбцов, в которые нужно загрузить данные (в данном случае col1 и col2)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы