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

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

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

13 ответов

68 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Карта сайта