Какова лучшая производительность дизайна для моих столов? - PullRequest
1 голос
/ 26 марта 2012

У меня есть 3 таблицы, которые они могут быть на 1 таблицы. Какова лучшая производительность для его дизайна? Мне нужна быстрая база данных для поиска и чтения, а не для вставки.

  1. Эти 3 таблицы будут прочитаны слишком много, чем написано
  2. Эти 3 таблицы содержат более 5 миллионов записей
  3. Большинство полей, доступных в этой таблице "p_apartmentbuy", используются в запросе предложения поиска (они были проиндексированы) и включают в себя некоторые поля, которые отображаются в результате поиска
  4. Поля в этой таблице "p_apartmentbuydetail" не используются в предложении поиска
  5. Таблица "pf_contact" будет использоваться для отображения результатов поиска и обычно некоторые столбцы нулевые

А в чем различия между «именем ключа с несколькими индексами» и «несколькими именами ключей с одним индексом для каждого» (например, фотография вложения). enter image description here

Relations between tables:
       p_apartmentbuy.id = p_apartmentbuydetail.p_apartmentbuy_id (1:1)
       pf_contact.id = p_apartmentbuydetail.pf_contact_id (1:1)

    CREATE TABLE `p_apartmentbuy` (
      `id` mediumint(7) unsigned NOT NULL AUTO_INCREMENT,
      `dateadd` int(10) unsigned NOT NULL DEFAULT '0',
      `sqm` smallint(5) unsigned NOT NULL DEFAULT '0',
      `age` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `price` bigint(12) unsigned NOT NULL DEFAULT '0',
      `pricemeter` int(10) unsigned NOT NULL DEFAULT '0',
      `bedroom` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `parking` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `storage` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `elevator` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `describe` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ',
      `featured` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `pf_source_id` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `l_location_id` smallint(5) unsigned NOT NULL DEFAULT '0',
      `l_city_id` smallint(4) unsigned NOT NULL DEFAULT '0',
      `l_province_id` tinyint(3) unsigned NOT NULL DEFAULT '0',
      `pf_status_id` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `pf_floor_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `pf_facing_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `pf_cabinet_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `pf_service_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`),
      KEY `dateadd` (`dateadd`),
      KEY `sqm` (`sqm`),
      KEY `age` (`age`),
      KEY `price` (`price`),
      KEY `bedroom` (`bedroom`),
      KEY `parking` (`parking`),
      KEY `storage` (`storage`),
      KEY `elevator` (`elevator`),
      KEY `l_location_id` (`l_location_id`),
      KEY `l_city_id` (`l_city_id`),
      KEY `l_province_id` (`l_province_id`),
      KEY `pricemeter` (`pricemeter`),
      FULLTEXT KEY `describe` (`describe`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    CREATE TABLE `pf_contact` (
      `id` mediumint(7) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ',
      `mobile` bigint(20) unsigned NOT NULL DEFAULT '0',
      `telephone` bigint(20) NOT NULL DEFAULT '0',
      `telephone2` bigint(20) unsigned NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    CREATE TABLE `p_apartmentbuydetail` (
      `p_apartmentbuy_id` mediumint(7) unsigned NOT NULL,
      `address` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ',
      `link` varchar(999) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ',
      `sqmland` smallint(5) unsigned NOT NULL DEFAULT '0',
      `floortotal` tinyint(3) unsigned NOT NULL DEFAULT '0',
      `floorno` tinyint(3) unsigned NOT NULL DEFAULT '0',
      `unitno` tinyint(3) unsigned NOT NULL DEFAULT '0',
      `unitperfloor` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `remotedoor` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `iphone` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `trase` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `sona` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `pool` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `jackosi` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `renovate` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `tel` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `water` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `gas` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `electricity` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `pf_kitchen_id` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `pf_contact_id` mediumint(7) unsigned NOT NULL DEFAULT '0',
      `pf_temperaturesystem_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `pf_position_id` tinyint(2) unsigned NOT NULL DEFAULT '0',
      `prev_id` smallint(8) unsigned NOT NULL DEFAULT '0',
      PRIMARY KEY (`p_apartmentbuy_id`),
      KEY `prev_id` (`prev_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...