Есть 35 млн. html файлов из них мне нужно создать базу MySQL.
В итоге в БД нужно занести:
- ID
- Имя
- Фамилия
- Отчество
- Дата рождения
- Место рождения
- Место проживания
Посоветуйте какую структуру БД сделать? Так как как в итоге мну нужно будет делать поиск почти по всем полям. Кажется мне, что если запихнуть все в одну таблицу - нормальный, рабочий, быстрый поиск по БД сделать не получится.
ФИО в три отдельные таблицы - имена и отчества часто повторяются. Фамилии просто для единого стиля.
Дату безусловно в отдельную таблицу. 35млн / (365*100). На 100 лет по 1000 человек в день рождалось. На самом деле распределение не равномерное и выигрыш по скорости/памяти будет больше.
Место рождения и место проживания скорее всего не две таблицы, а гораздо больше (есть смысл отдельно хранить города, улицы, дома).
Ну и таблица с ID индивида, содержащая индексы всех его ФИО и прочего. Эту таблицу можно проиндексирвоать по всем столбцам для быстрого поиска.
Простенькая реляционная база данных получается.
Если место рождения и проживания - строка, то храните всё в одной таблице. И постройте правильно индексы. Будет вам быстрый поиск. Если же вам хочется хранить адреса по частям (страна, город, индекс и т.п.) - лучше их класть в отдельную таблицу + сделать таблицу связывания.
Евгений: для начала мы с Вами не настолько знакомы, чтобы мне "тыкать". Ну а во вторых, если Вы в чем-то не разбираетесь - то не стоит это называть фигней.
Таблицы
1)Страна
2)Город
3)Улица
4)ФИО+Дата рождения+id Страны рождения+ id Город рождения+ id Улицы рождения+Дом рождения+Корп рождения+Кв рождения+ id Страны проживания+ id Город проживания+ id Улицы проживания+Дом проживания+Корп проживания+Кв проживания