Имам маса ...
FactorID, col1 col2 Factor Value
1 a 2 1231
1 b 3 2342
2 a 2 1233
2 b 3 2344
Това означава ... За фактор Id 1 имам 1500 записа ... и фактор Id 2 имам същия брой записи.
За фактор ИД 1 и 2 всяка стойност е същата, с изключение на "Стойност на фактора".
Когато се присъединя към таблицата с някои други таблици за извличане на данни ... FactorID 1 ми дава бързи резултати ... но когато поискам "2" ... изпълнението никога не свършва.
Това ми се струва странно. Дали това е нещо, свързано със заключване на редове? Моля, помогни ми.
Отговори:
1 за отговор № 1Може да е, че присъединяването използва сканиране на таблица. Проверете дали FactorID има индекс. Резултатите, които виждате, могат да бъдат, защото записите на FactorID 1 са първите в таблицата и когато става въпрос за FactorID 2, той продължава да прескача записи за FactorID1 един по един, докато стане въпрос за FactorID 2.
0 за отговор № 2
Когато се присъединя към таблицата с някои други таблици за извличане на данни ... FactorID 1 ми дава бързи резултати ... но когато попитам за "2" ... изпълнението никога не свършва.
Уау, това казва много малко.
Отговорът зависи от три неща.
- Как се определят таблиците ви?
- Имате ли първични ключове? Кои колони са ключовете? Ако в таблицата, показана по-горе, има само две стойности "FactorID", това би било лош избор за първичен ключ.
- Индексирани ли са други колони?
- Имате ли действително колони с име "col1" и "col2"? Или просто казвате: "имената не са от значение"?
- Какъв тип данни са в таблиците? Колко реда?
- Най-важното нещо: Какво искаш да кажеш с "когато се присъединя към таблицата с някои други маси"? Колко таблици се присъединяват? Как се справяш?
Плюс това, вие казвате, че вашата заявка "никога не свършва" - колко време чакате?
Съжаляваме, но се нуждаем от много повече информация, преди да бъде даден смислен отговор.