Планирует схему базы данных для хранения атрибутов продукта Amazon и дополнительных ценности торговой площадки конкретной (например, название, исполнитель, вес и т.д.)Реализации составного индекса для таблицы с редкими обновлениями/вставляет
До сих пор является Товары стол с GTIN varchar(13) (PK)
столбец. В моем конкретном случае GTIN может быть идентификатором EAN/UPC/ISBN. В продуктах также есть столбец ASIN char(10)
, чтобы связать GTIN с ASIN.
Поведение, когда и EAN и UPC существуют для одного и того же ASIN, программно пойманы и правильно обработаны, поэтому учитывайте все уникальные ASIN. Я определил UNIQUE NONCLUSTERED CONSTRAINT
на ASIN
и связал его с таблицей продуктов как один-ко-многим.
Второй стол ProductsData определяет ASIN char(10) (FK)
и mid tinyint
(идентификатор биржи). Все ASINs сохраняются вместе с соответствующими идентификаторами Рынок:
rowid ASIN mid
1 B0002DB5GS 1
2 B0002DB5GS 44
3 B0002DB5GS 39
4 B0002Y4SYS 1
5 B0002Y4SYS 44
6 B0002Y4SYS 39
Как вы заметили, есть также rowid int IDENTITY(1,1)
колонна, которая является фиктивной, но реализует уникальность.
Assumning в follwing факты:
- очень редкие обновления
- относительно редкие вставки (каждый добавленный продукт создает 3 записи в транзакции)
- время не делеции
- интенсивные выбирает на колонке ASIN
rowid
- это манекен, который просто обеспечивает уникальность.
Сюда приходят три вопроса:
- ли стоит, чтобы сделать композитный индекс на
ASIN
иmid
? - Если да, то кластерный или некластеризованный?
- Могу ли я избавиться от кластерного индекса по адресу
rowid
, потому что он мне не нужен?
Идея индекса покрытия выглядит очень хорошо для меня. Спасибо. Как насчет колонки 'rowid'? Нужно ли мне это сделать эту схему? Могу ли я избавиться от индекса кластеризации ПК, который на самом деле никогда не используется? –
См. Обновленный ответ ... Я думаю, что вы можете полностью избавиться от этого столбца, так как он выглядит так, как ваша таблица ProductsData - это таблица поиска/отображения для ASIN и mid –
Благодарим вас за такой подробный ответ. Очень признателен! –