powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос к партицированной таблице и к обычной таблице
4 сообщений из 54, страница 3 из 3
Запрос к партицированной таблице и к обычной таблице
    #39873703
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичRoust_m,

"Все татары кроме я." (с)

Вы можете понятнее выражаться?
Особенно на тему у кого там Azure случился?
И очень интересно, когда вы сообщаете, что у вас контроля над версией нет. Вы уже готовитесь к тому, что вам MS SQL 4.2 раскатают? Или 7.0?

В нашей среде, если нужна база, то отвечающий за это человек заходит на Azure портал и нажимает несколько кнопок, указывая какого размера и производительности нужна база. Выбора версии там нет. Старых версий у нас не раскатают, наоборот, в такой среде Майкрософт использует самую новую версию, даже если она не вышла еще на рынок. Вы разве про это не знаете? Да, они на клиентах как на хомячках обкатывают новую версию, зато потом, когда она готова, получается гораздо стабильнее.
Я только что сам туда зашел, кнопки выбрать версию (2016 к примеру) не увидел.
...
Рейтинг: 0 / 0
Запрос к партицированной таблице и к обычной таблице
    #39873711
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_mНу хорошо, как тогда в терабайтной таблице данные искать?Какая разница, сколько байт в таблице, если вам нужно считать сектор №123321?
...
Рейтинг: 0 / 0
Запрос к партицированной таблице и к обычной таблице
    #39873715
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_malexeyvgВот у вас есть индекс, там указано, что ваши данные находятся на диске в секторе № 123321
Сервер читает сектор 123321, готово!

Далее, вы задаёте вопрос: "как можно сервер заставить сканировать одну партицию"

Вы понимаете, что такой вопрос абсурден, в контексте задачи "прочитать сектор 123321"?
Ну контекст задачи немного шире. Еще одной целью партицирования было собрать все записи по одному и тому же студенту в одной партиции, вместо того, чтобы им быть разбросанными по всей таблице. У одного студента может быть несколько sid. Но pkey есть функция от id студента (st_id). В приложении этот запрос не единственный, поэтому задача заставить это запрос работать на секционированной таблице как можно быстрее. Это на не секционрованной таблице по этому запросу есть индекс где указано, что данные находятся в секторе № 123321. А на секционированной так не получется. Но поскольку секционирование в нашем случае нужно (IMHO), то приодится искать компромисы.Между тем, что все записи по одному и тому же студенту в одной партиции, или они разбросаны по всей таблице, нет никакой разницы.

У вас всего лишь 3 варианта :

1) Вы делаете так, что бы все данные запроса читались в одном блоке (как - вам уже писали).
Тогда неважно, в одной партиции у вас данные, или в нескольких. Вы читаете их одной дисковой операцией.

2) Данные разбросаны по разным секторам, и для получения данных вам нужно прочитать N секторов из некоего набора (№123321, №765567, №444333, .........).
В этом случае тоже неважно, в одной партиции у вас данные, или в нескольких. Вы просто читаете с диска сектора из списка. Если данные в одной партиции, то сектора будут поближе друг к другу, ну и что?

3) У вас нет списка секторов. Для получения данных вы должны просканировать фрагмент таблицы по какому то условию, и потом их отфильтровать.
Да, в этом случае, как одно из решений, можно использовать секционирование.
Но можно использовать и другие варианты, никакого преимущества секционирования перед ними нет (за исключением неких тонкостей, но глупо, не зная их, цепляться за секционарование).
Однако, тут (вариант 3) важно понимать, что такое сканирование (пусть даже одной секции) - признак грубейшей ошибки проектирования, которая сделает невозможным практическое использование базы данных (почти всегда, хотя есть и исключения).
...
Рейтинг: 0 / 0
Запрос к партицированной таблице и к обычной таблице
    #39874932
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_mВот скрипт партицированной таблицы. Там 15000 партиций. Ключ pkey есть функция от st_id: st_id % 14999 +1Сорри, не стал читать весь топик, но это самое идиотское секционирование которое я когда либо видел в жизни.
...
Рейтинг: 0 / 0
4 сообщений из 54, страница 3 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос к партицированной таблице и к обычной таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]