Smoke999
Дата: 22.05.2015 13:38:42
Давно хотел разобраться с этим вопросом, все никак руки не доходили.
Есть 3 таблицы:
1) Скомпонованные позиции. РК типа bigint
2) Товары - РК типа bigint
3) Состав - с внешними ключами на первые 2 таблицы.
Количество записей около 200тыс.
Провел 6 тестов с разными типами РК:
1-3) объединение по всем таблицам с РК типа:
1 - bigint-стоимость 29
2 - uniqueidentifier - Newid()-стоимость 55
3 - varchar(150)-NewId()-стоимость 16
4-6) поиск по конкретной позиции с объединением по всем таблицам с РК типа:
4 - bigint -стоимость 39
5 - uniqueidentifier - Newid()-стоимость 31
6 - varchar(150)-NewId()-стоимость 31
Получается что лучше использовать varchar(150) вместо uniqueidentifier? Или я что-то упустил?
Вариант с bigint не подходит, так как может быть импорт данных из сторонней бд.
Конечно можно использовать uniqueidentifier только для импорта, а дальше проставить внутренние поля bigint и работать с ними, но это более громоздкий вариант.
Smoke999
Дата: 22.05.2015 14:03:12
А вы не грубите, пользователь нажимает Enter и данные автоматически обнавляются. То что в коде присутсвтует Edit/insert - post то это было понятно и так. И вы ту тему закрыли, так что не будем возвращаться к ней. Если не хотите помочь по данному вопросу пройдите мимо. А то у вас все ответы такие что "...фу незнает даже такого" а сами ничего не предлагаете. Я понимаю вы тут уже очень много времени, благо количество сообщений ваших говорит о многом, и опыт больше, так если знаете ответ подскажите, нет , или не хотите - лучше вообще не пишите. У вас половина сообщений такие, без обид.