Предположим, у меня есть две таблицы в РСУБД, которые пытаются моделировать хранение и извлечение одних и тех же данных на основе различных ключевых спецификаций. Table1 хранит весь ключ в одном столбце полукокса, TABLE2 хранит ключ в нескольких столбцах, например, так:Один ключ столбца или несколько столбцов?
Table1: ключ = String, значение = Data
Table2: col1 = Строка, col2 = String, значение = Данные
Таблица 1 содержит ту же информацию, что и комбинация col1 и col2, плюс потенциально ограничители, например. key = "NASDAQ/SUNW", col1 = "NASDAQ", col2 = "SUNW"
Я заинтересован в эффективном извлечении данных. Будет ли использование таблицы 1 более эффективным, чем Table2?
Выполнение запроса с использованием регулярного выражения, например ". * SUNW. *", Было бы намного дороже? – andrewz
Да. Если SUNW находится в отдельном столбце, вы можете индексировать столбец и выполнять поиск по B-дереву (быстрый), чтобы найти все строки с этим значением. Но если он похоронен в столбце с чем-то другим, вам нужно будет выполнить сканирование таблицы (медленно), чтобы найти их. –