Хранение в базе большого кол-ва кеев - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.7493
BTC/USD70374.4969
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 06.05.2011, 13:58   #1
xatman
Особый статус
 
Аватар для xatman
 
Регистрация: 05.10.2007
Сообщений: 771
Бабло: $163646
По умолчанию Хранение в базе большого кол-ва кеев

Ситуация:
Есть 200 список кеев по >20k кея в каждом списке.
Как лучше эти списки хранить в MySQL, чтобы потом можно было искать нужный кей в нужном списке?
xatman вне форума  
Старый 06.05.2011, 14:03   #2
deschain
Senior Member
 
Аватар для deschain
 
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
По умолчанию

xatman, 200 таблиц, в каждой 20к кеев, ищи в нужной, и все дела.
deschain вне форума  
Старый 06.05.2011, 14:04   #3
ar4ibas
Senior Member
 
Регистрация: 11.11.2009
Сообщений: 362
Бабло: $71310
По умолчанию

1. таблица где будут только уникальные кеи из всех 200 списков ( < 4М записей)
-key_id (PRIMARY KEY, AUTO_INCREMENT)
-key_name (UNIQUE)

2. таблица списков (200 записей)
-list_id (PRIMARY KEY, AUTO_INCREMENT)
-list_name

3. таблица связей кей=>список
-key_id (INDEX)
-list_id (INDEX)

Последний раз редактировалось ar4ibas; 06.05.2011 в 14:15.
ar4ibas вне форума  
Старый 06.05.2011, 14:15   #4
xatman
Особый статус
 
Аватар для xatman
 
Регистрация: 05.10.2007
Сообщений: 771
Бабло: $163646
ТС -->
автор темы ТС По умолчанию

ar4ibas, в 3-й таблице получается 200*20к (с учетом уника может и меньше) записей ?
xatman вне форума  
Старый 06.05.2011, 14:19   #5
ar4ibas
Senior Member
 
Регистрация: 11.11.2009
Сообщений: 362
Бабло: $71310
По умолчанию

Цитата:
Сообщение от xatman Посмотреть сообщение
ar4ibas, в 3-й таблице получается 200*20к (с учетом уника может и меньше) записей ?
получается что так, но это не страшно.
в таблице размер записи 8 байт (два целых беззнаковых по 4 байта), размер таблицы будет ~ 30 метров, все ляжет в ОЗУ
должно работать достаточно быстро
ar4ibas вне форума  
Старый 06.05.2011, 14:21   #6
xatman
Особый статус
 
Аватар для xatman
 
Регистрация: 05.10.2007
Сообщений: 771
Бабло: $163646
ТС -->
автор темы ТС По умолчанию

ar4ibas, пасиб. Буду пробовать
xatman вне форума  
Старый 06.05.2011, 14:26   #7
xatman
Особый статус
 
Аватар для xatman
 
Регистрация: 05.10.2007
Сообщений: 771
Бабло: $163646
ТС -->
автор темы ТС По умолчанию

deschain, Сори , не увидел ответ. Тоже хорошая идея.
xatman вне форума  
Старый 06.05.2011, 15:27   #8
deschain
Senior Member
 
Аватар для deschain
 
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
По умолчанию

xatman, если у тебя при запросе всегда ищется кей только из одного списка - это самый лучший вариант.
deschain вне форума  
Старый 06.05.2011, 20:02   #9
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

не понял
надо все тупо слить в одну таблицу:
200*20k = 4кк - это вообще ни о чем, да если еще над my.cnf поколдовать...

только если вилдкард спереди будешь использовать при поиске, то лучше полнотекстовый индекс делать

вариант подобный предложенному ar4ibas (только вместо auto_increment - md5 хеши для скорости) у меня выдает 120к инкрементных операций в секунду на базе в 100кк

уж не знаю на сколько важна скорость ТСу, но 4кк записей - это мало для велосипедов
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 06.05.2011, 20:10   #10
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
По умолчанию

мд5?
Drunk Monk вне форума