|
|
|
Немного теории09.06.2018, 12:10. Показов 1161. Ответов 12
Метки нет (Все метки)
Добрый день! На днях на одной из конференций по MSSQL, увидил немного интересное решение, обработки данных, есть две таблицы Города и Улицы. И таблица Города содержит еще два поля, первый и послений id улиц что в него входят.
Специалисты говрят,что если держать эти два пополнительных значения, то масса привелегий при выборке, такие как уменьшается кол-во итераций, уменьшается размер кеша, быстрее освобождается таблица, снижается нагрузки на процесор и жесткие диски. Но есть и минусы,всевремя приходтся обновлять эти первое и посление значение. Я вот думаю,вобще стоит ли такое решение внедрять, когда в таблицах записей до миллионна, так как такое решение актуально в очень больших таблицах.
0
|
|
| 09.06.2018, 12:10 | |
|
Ответы с готовыми решениями:
12
Немного не понимаю по теории sql SQL немного конспекта Проектирование БД, возможно немного нестандартное |
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 09.06.2018, 12:23 | |
|
Видимо вы не полностью озвучили предлагаемое решение.
Ибо в том, что вы написали, нет ни какого смысла.
0
|
|
|
|
|
| 09.06.2018, 12:31 [ТС] | |
|
Вот две таблицы:
Города id name Улицы id name parent_city_id К примеру необходимо выбрать все улицы определеного города. По стандарту выборка будет идти по определному parent_city_id. Что предлагают спецы, Они предлагают добавить в первыю таблицу еще два поля, типа так: Города id name first_id last_id и теперь при выборке удиц определеного города,мы берем интервал между first_id и last_id, тем самым сокращая выборку Но при этом появляется дополнительный запрос к первой таблице, что бы получить данные об интервале.
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 09.06.2018, 12:57 | |
|
Dinkin, где гарантия, что:
- между first_id и last_id улицы только нужного города? - first_id и last_id не первая и последняя строка таблицы?
0
|
|
|
|
|||
| 09.06.2018, 15:15 [ТС] | |||
![]() ![]() Добавлено через 22 минуты Не по теме:
0
|
|||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 09.06.2018, 15:18 | |
|
Dinkin, вы фантазируете, пытаясь обосновать показанное решение.
Озвученная вами задача решается правильно спроектированными индексами. Не нужны никакие приседания с дополнительными столбцами в таблице городов. Насчет "малой вероятности" - вы добавили в таблицу все улицы Города1, затем все улицы Города2, затем еще одну улицу Города1. Что будет в результате выборки улиц Города1, пользуясь этими двумя столбцами?
1
|
|
|
|
||
| 09.06.2018, 15:24 [ТС] | ||
|
invm, Ну вот мне интересно, что кто думает на счет этого варианта. Поже будет время, найду этот вебинар на ютуб, кину сюда ссылку.
0
|
||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 09.06.2018, 16:31 | ||
|
Только для этого, если пользоваться first_id и last_id, придется прочитать и отфильтровать все улицы Города2. В общем, еще раз - задача решается правильным проектированием индексов.
1
|
||
|
|
|||||||
| 09.06.2018, 16:41 [ТС] | |||||||
|
1) У Города1, был интервал id улиц с 1 по 1000 2) Добавил новую улицу Городу1, и ее id стал к примеру 2015 3) Мы меняем в первой таблице у Города1 значение last_id на 2015 и следующий запрос для выборки улиц у Города1 (чей id= 1) будет типа так:
. Вот и решил спросить, кто об этом что думает =)
0
|
|||||||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|||
| 09.06.2018, 21:48 | |||
|
0
|
|||
|
|
|||
| 10.06.2018, 14:12 [ТС] | |||
|
PS. Вчера создал тестовый стенд (БД)...тестанул, действительно есть результат, но при условии, если записей от 10 миллионов. Если записей меньше, то скорость выборки одинаковая. На вебинаре еще дали несколько интересных предложений....так же буду тестировать.
0
|
|||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||||||||
| 10.06.2018, 17:35 | ||||||||
Сообщение было отмечено Dinkin как решение
РешениеВот вам для анализа и размышлений:
1
|
||||||||
|
|
|
| 10.06.2018, 22:54 [ТС] | |
|
invm, Ого,спасибо, за такой развернутый ответ. Буду разбираться.
0
|
|
| 10.06.2018, 22:54 | |
|
Помогаю со студенческими работами здесь
13
Исправьте немного кода для триггера Немного теории Немного теории Немного о теории
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|