2010-01-11 4 views
0

Я работаю на одном сайте недвижимости, и у меня есть большая база данных около 250 полей в таблице и 15 лакх (1,5 миллиона) записей в таблице. Я хочу предоставить функциональность поиска на веб-сайте, поэтому, как мне создать db, чтобы я мог быстро искать свойство из этих записей за 15 лакхов. Я хочу сделать сайт как http://www.redfin.com/.Как обращаться с большой базой данных?

Эффективно ли все 15 записей lakhs должны быть в одном столе для поиска?

Я не понимаю, как мне создать db? Я использую PHP + Mysql, поэтому я также хочу спросить, какой механизм хранения (MyISAM, InnoDB и т. Д.) Предпочтительнее для такого типа обработки большой базы данных?

Пожалуйста, помогите мне.

+3

Что означает «15lacks»? Я этого раньше не видел. – duffymo

+1

Что? Стол с 250 столбцами? Зачем? –

+2

@duffymo: недостаток индийский для миллиона IIRC – Jamiec

ответ

2

Вы говорите, что ваша база данных состоит из одной таблицы? Это то, что предлагает 250 полей в одной таблице. Если это так, я бы посоветовал обратиться к эксперту по дизайну, чтобы ваша схема немного изменилась.

Что касается производительности, то MySQL InnoDB должен быть достаточным, если вы разрабатываете правильные ключи и индексы. Трюк будет состоять в том, чтобы знать о запросах, которые вам понадобятся, и создавать индексы, чтобы сделать их максимально эффективными.

В таблице может быть 250 столбцов, но я уверен, что типичные запросы будут выполняться после комбинаций столбцов большую часть времени. Эти комбинации - это то, что вам нужно индексировать.

15 миллионов строк не являются ошеломляющим числом. Вы можете обнаружить, что нормализация значительно уменьшит это число, потому что у вас не будет столько повторяющихся данных. На самом деле большие базы данных измеряются в терабайтах.

+0

yes sir.that таблица, имеющая 250 полей, и я хочу также искать в этих полях. – Jimit

+0

установить индексы или кластерный индекс в полях, которые вы хотите найти –

0

Я думаю, вам нужно рассмотреть вопрос о нормализации (Google это, прочитайте, а затем вернитесь и при необходимости откройте новые вопросы).

Количество записей должно быть очень большим, чтобы повлиять на производительность, когда очень большое значение зависит от используемой РСУБД. Например. 15 миллионов огромны для Access, среднего уровня для Oracle. Но структура данных будет иметь значение в любой СУБД. Таким образом, нормализация - это ключ.

Смежные вопросы