169 похожих чатов

Товарищи, вопрос. У меня есть БД (MS SQL), там поле

название (не уникальное, типа название топиков),  и дата создания. В этой таблице в основном надо будет только вставлять новые данные. И выборка будет в основном фильтроваться по названию топика и потом сортироваться по истории создания этого топика. Какой лучше тип индексирования использовать? Я вот прочитал, что хорошо подойдет некластеризованное индексирование (по названию топика). Есть какой-то совет от опытных спецов.
В теории будет выглядеть так, условно у меня 400 000 строк, каждый топик будет иметь максимум по 60 строк, и надо будет их отобразить в сортированном виде по времени актуальности.

13 ответов

71 просмотр

Какие данные нужно вставлять?

Просто индекс и всё.

Ulov-Kalmarov Автор вопроса
Bektur Bekboev
Какие данные нужно вставлять?

В основном новое название топика (либо названее ранее уже созданного топика), какой-то текст 255, почта и время создания. Я индекс кластеризованный не хочу использовать, так как поиск данных по уникальному идентификатору точно не будет, а в основном по названию топика (точно по каждому топику будет около 50-70 дублей по названию), и с дальнейшей сортировкой по времени.

Ulov-Kalmarov Автор вопроса
Ilya Zviagin
Просто индекс создай и успокойся

Индекс на название топика (не уникальный)?

Ulov Kalmarov
В основном новое название топика (либо названее ра...

Ну так текст то по алфавиту наверное искать проще? При чем тут уникальность к кластеру?

Ulov-Kalmarov Автор вопроса
Gleb Zabezhinskiy
Ну так текст то по алфавиту наверное искать проще?...

Возможно, некорректно написал, я хотел, чтобы бд меньше памяти занимало, если использовать кластеризованный индекс, то он хранит реальные данные в таблице индексов и тем самым поиск быстрее работает, а если некластеризированный, то там условно хранятся ссылки на строки в реальной таблицы, и тем самым поиск медленнее, но памяти меньше тратится. Верно?

Ulov Kalmarov
Возможно, некорректно написал, я хотел, чтобы бд м...

Ни когда не задумывался над этой стороной оптимизации. Один момент: кластеризованный (кластерный?) индекс - это сама таблица. НЕкластерный индекс - это дополнительная "таблица" рядом с основной 🤷‍♂

Ulov Kalmarov
Возможно, некорректно написал, я хотел, чтобы бд м...

Всё,- я втупил,- это ты про оперативку... (в смысле "памяти меньше тратиться") ... 😁

Ulov Kalmarov
Возможно, некорректно написал, я хотел, чтобы бд м...

Ну не совсем так. Если тебе некластерного будет хватать для фильтра и выборки он вообще не пойдёт в кластереый, тогда да, в теории он может тебе в память поднять только не коастерный индекс и тогда и поиск будет быстрее и памяти меньше, но если у тебя будут лукапы, то тогда он всё равно будет в память поднимать данные из кластерного/кучи

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта