May. 16th, 2008
датаваровед
May. 16th, 2008 11:29 pmВ прикладной базе данных (mysql 5.0, myisam) есть некоторый класс больших таблиц, всего их к примеру 30 штук. Новые данные в эти таблицы загружаются почти каждый день. Записи сами по себе короткие, скажем до 50 байт. Количество записей в каждой из таблиц остается примерно одинаковым - от 1 миллиона до 20 миллионов (на самом деле число записей постепенно растет, скажем на 5-10% с каждой загрузкой новых данных, т.е. не очень существенно, а может и вообще не расти). Ежедневно новые данные поступают примерно в том же объеме что и количество старых записей, т.е. если в таблице А был 1 миллион то загружаем еще 1 миллион каждый день. Но затем нужно удалить все дубликаты записей по некоему составному ключу, т.е. 90% старых записей "перетерлись" новыми, в таблице должны остаться 10% старых записей плюс новые записи.
( реад море )
Вопрос конечно же - можно ли сделать этот процесс оптимальнее и как (не забываем что хотелось бы обрабатывать таблиц по 5 одновременно и не слишком перегружать сервер базы данных).
Посмотрел вариант с созданием временной таблицы.. Гнусно как-то.
( реад море )
Вопрос конечно же - можно ли сделать этот процесс оптимальнее и как (не забываем что хотелось бы обрабатывать таблиц по 5 одновременно и не слишком перегружать сервер базы данных).
Посмотрел вариант с созданием временной таблицы.. Гнусно как-то.