powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спроектировать таблицу, если выборка по строкам
35 сообщений из 35, показаны все 2 страниц
Спроектировать таблицу, если выборка по строкам
    #40125190
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет таблица, в которой будут заноситься данные пользователей. Поиск пользователя будет идти не по логину , а по 32 символьной строке (уникальной для каждого). Данных будет много. Как лучше сделать , чтобы поиск не был слишком медленный? Критичен именно поиск, т.к. выборка будет идти очень часто, добавление реже.
Тип думаю задать CHAR(32), а дальше что? Нужен ли идентификатор UNIQUE или лучше со скрипта проверять, есть ли такая запись в базе или нет?
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125192
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotКак лучше сделать , чтобы поиск не был слишком медленный?

Делать уже ничего не надо. В процессе обеспечения "уникальности для каждого"
созданный unique constraint создаст индекс автоматически.

PS: С "добавлением реже" тебе до "данных много" ещё лет сто пахать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125198
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UNIQUE это Constraint а не идентификатор. Constraint используется to enforce data integrity на уровне таблиц.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125213
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
Будет таблица, в которой будут заноситься данные пользователей. Поиск пользователя будет идти не по логину , а по 32 символьной строке (уникальной для каждого). Данных будет много. Как лучше сделать , чтобы поиск не был слишком медленный? Критичен именно поиск, т.к. выборка будет идти очень часто, добавление реже.
Тип думаю задать CHAR(32), а дальше что? Нужен ли идентификатор UNIQUE или лучше со скрипта проверять, есть ли такая запись в базе или нет?

У вас логин и так является строкой по сути. Или вы этого не видите, или занимаетесь ерундой. Меняйте длину строки на нужную и не изобретайте велосипед. И да, уникальность должна проверяться автоматом (ставим галочку), а не кривописными скриптами.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125215
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы пытаетесь закидывать туда данные сторонней системой то добавьте уникальное поле вашей длины по которой и находите пользователя. Это к тому что за логин из 32 знаков пользователи вас на кол посадят.
Эх, праздники тормозят мой мозг.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125219
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу грамотно объяснить. Это не логин, это уникальный ID , который генерируется скриптом на основе некоторых данных. Попросту говоря - защита от клонов и ботов, подробнее см. fingerprint.js . Не суть. Нужно искать именно по этим "отпечаткам", проверять нет ли в базе повторов (клонов), если есть - выбрать кто это (что за юзер, какие там были данные).
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125228
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot,

Ну тогда "добавьте уникальное поле вашей длины по которой и находите пользователя". Если БД позволяет делать поле уникальным, то ставим галочку на уникальность. Иначе при записи строки вставляем сою проверку на уникальность.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125232
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр, у меня MySQL (или Мария), вроде разницы нет.
По уникальности понял, а как по быстродействию - будет долго искать по строкам, может сортировка какая-то нужна или еще как оптимизировать? В плане, я понимаю что базе проще сделать выборку вида ID == 50, особенно если по числах отсортировано, чем перебрать все строки и сравнивать каждую.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125234
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotВ плане, я понимаю что базе проще

Нет, ты ничего не понимаешь. Поэтому не думай. Тормоза в твоей системе будут не
от базы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125241
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, да, я не понимаю, но подскажите как грамотно спроектировать-то. Чтобы потом не переделывать. Вот есть идентификатор 32 символа, поиск по нему. Как лучше сделать таблицу? База - MySQL /MariaDb
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125248
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
Вот есть идентификатор 32 символа

Похоже в этом и есть проблема, если бы знать предысторию появления этого идентификатора, то наверняка нашелся бы обходной путь по проще и скорее всего не один...
morgot
Данных будет много.

не думаю, что их больше чем товаров всех видов во всех странах, которые вписываются в EAN-13...
Всего 13 ЦИФР описывают весь товар в мире, причем последняя сумма - это контрольная сумма предыдущих 12-ти...
Первые две - Код страны, ну и т.д.

Это я так в качестве намёка... 13 хоть и только цифр- тоже приличное поле для поиска, но таки не 32...
Подойдите к идентификатору с другой стороны и если получится его сократить или убрать, то тому кто его придумал - просто оторвите ноги...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125249
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotподскажите как грамотно спроектировать-то. Чтобы потом не переделывать. Вот есть
идентификатор 32 символа, поиск по нему. Как лучше сделать таблицу?

Для начала - в точности как написано в любом учебнике для начинающих: поле
VARCHAR и индекс на него.

О том "чтобы потом не переделывать" лучше забудьте. В любом случае переделать
придётся не раз и не два. Это неизбежно в ходе взросления.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125251
morgot
Dimitry Sibiryakov, да, я не понимаю, но подскажите как грамотно спроектировать-то. Чтобы потом не переделывать. Вот есть идентификатор 32 символа, поиск по нему. Как лучше сделать таблицу? База - MySQL /MariaDb

32 - это значит md5-отпечаток, скорей всего (а если нет, то что мешает?)
значит тип поля - под hex (MySQL научился hex? А MariaDB? Или там до сих пор всё в чарах...)
а чтобы быстрей искало и меньше занимало, можно отдельное поле для индекса, размером 10, например

varchar нафиг не нужен на поле, где всегда 32 символа.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125260
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
Злой Бобр, у меня MySQL (или Мария), вроде разницы нет.
По уникальности понял, а как по быстродействию - будет долго искать по строкам, может сортировка какая-то нужна или еще как оптимизировать? В плане, я понимаю что базе проще сделать выборку вида ID == 50, особенно если по числах отсортировано, чем перебрать все строки и сравнивать каждую.

Как выше уже писали - зачем вам 32 знака для поиска? Потому как у вас явно тараканы в голове человека который придумал такую хрень. Я могу понять алгоритм найти пользователя, сравнить его 32 значное поле (ставить индекс не нужно) на условие. Но находить пользователя по 32 значному строковому полю (поле индексируемое) - в любой БД это путь в никуда (в плане быстродействия).
Так что начните с постановки задачи. Например я считаю что поля Int 8 знаков для поиска именно по полю - вполне за глаза. Индекс по нему летает.
Задачу в студию . Мы поможем правильный алгоритм сделать, а не такого монстрика.
С марией я не работал, так что делайте поправку.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125261
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрНо находить пользователя по 32 значному строковому полю (поле индексируемое) - в
любой БД это путь в никуда (в плане быстродействия).

То есть Вы вот так заявляете, что в любой СУБД поиск по ФИО, например, будет
тормозить чисто из-за его длины при любом типе индекса? Или это только у MS SQL всё так запущенно?..
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125263
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

У Бобра ключевое

Злой Бобр
Задачу в студию .

- объемов нет (данных будет много - это ни о чем, одному и трех баб мало, другому и кобыла невеста...)
- ну и ключ в 32 символа - это перл, заслуживающий особого внимания и рассмотрения...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125272
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagну и ключ в 32 символа - это перл, заслуживающий особого внимания и рассмотрения...

Это ты ещё не видел таблиц с ключами из трёх полей, одно из которых double
precision...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125277
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Это ты ещё не видел таблиц с ключами из трёх полей, одно из которых double
precision...

после этих слов я наверно должен был испугаться и выронить на пол глаза?
с дуру можно и инструмент сломать...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125278
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Это ты ещё не видел таблиц с ключами из трёх полей, одно из которых double precision...

Ха! Из трёх. Я до сих пор вспоминаю базу "Снежной королевы", там были составные естественные ключи вплоть до 12 (!) полей.

morgot
Будет таблица, в которой будут заноситься данные пользователей. Поиск пользователя будет идти не по логину , а по 32 символьной строке (уникальной для каждого). Данных будет много.

"Много" - это сколько?

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

morgot
Злой Бобр, у меня MySQL (или Мария), вроде разницы нет.

Ну тогда может не ста миллионов а миллиона. Не работал с ними, не знаю.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125280
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
(уникальной для каждого). Данных будет много. Как лучше сделать , чтобы поиск не был слишком медленный?
morgot
у меня MySQL (или Мария)
Сделайте это поле первичным ключом. Будет и скорость, и уникальность.
Тип данных, правда, дает некоторые сомнения, но для начала сойдет и CHAR(32).
Если покажете реальные значения, которые там предполагается хранить, то может еще чего присоветуем.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125284
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чувствую щас ТС скажет, что уникальная строка 32 символа это ИНН+СНИЛС+Серия/номер паспорта для верности...
ну или что это был абстрактный пример и на самом деле нужно вести учет не юзеров, а небесных тел соседних галактик...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125348
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много - не больше миллиона, тысяч 100-900, не знаю.

Dimitry Sibiryakov

Для начала - в точности как написано в любом учебнике для начинающих: поле
VARCHAR и индекс на него.

В учебниках советуют CHAR, если данные фиксированной длины; т.к. VARCHAR вроде на 1 байт больше занимает.
индекс - так пойдёт?
Код: sql
1.
2.
`guid` CHAR(32) NOT NULL DEFAULT '',
	UNIQUE INDEX `guid` (`guid`)



miksoft
Сделайте это поле первичным ключом. Будет и скорость, и уникальность.
Тип данных, правда, дает некоторые сомнения, но для начала сойдет и CHAR(32).
Если покажете реальные значения, которые там предполагается хранить, то может еще чего присоветуем.

Первичным? Думал, что в базах данных всегда желательно первичным делать INT , т.к. в нем auto increment, и вроде как база сама создает такое значение, если не указать явно? или путаю?
задачу напишу ниже.

Злой Бобр

Задачу в студию . Мы поможем правильный алгоритм сделать, а не такого монстрика.
С марией я не работал, так что делайте поправку.

Задача. Есть веб сайт (форум,соц. сеть, не суть). Для каждого пользователя генерируется уникальный идентификатор на основе данных браузера и подобного. Он выходит размером 32 символа. Уменьшить или изменить его нельзя. Перевести на смс-активацию, привязку к айпи и т.д. тоже нельзя. Только вот уникальный айди, который генерится особым образом, практически не дает коллизий и сбоев. Допустим, на сайте сидят 100 тыс человек, регится 100001ый . Нужно проверить, не является ли он клоном кого-то из этих товарищей . Исходя из этого, нужно спроектировать таблицу.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125353
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotМного - не больше миллиона, тысяч 100-900, не знаю.

100 тысяч пользователей... Ещё один фейсбук создаёшь?

morgotВ учебниках советуют CHAR, если данные фиксированной длины

Если ты АБСОЛЮТНО уверен. Ну и для поля фиксированной длины твой default
выглядит странно, ведь он короче этой длины.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125357
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
morgot
Задача. Есть веб сайт (форум,соц. сеть, не суть). Для каждого пользователя генерируется уникальный идентификатор на основе данных браузера и подобного. Он выходит размером 32 символа. Уменьшить или изменить его нельзя. Перевести на смс-активацию, привязку к айпи и т.д. тоже нельзя. Только вот уникальный айди, который генерится особым образом, практически не дает коллизий и сбоев. Допустим, на сайте сидят 100 тыс человек, регится 100001ый . Нужно проверить, не является ли он клоном кого-то из этих товарищей . Исходя из этого, нужно спроектировать таблицу.

Я уже напуган. Неужели браузер в самом обычном HTTP передает что-то такое, что позволяет меня прямо уникально-уникально идентифицировать?
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125361
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

morgotМного - не больше миллиона, тысяч 100-900, не знаю.

100 тысяч пользователей... Ещё один фейсбук создаёшь?

morgotВ учебниках советуют CHAR, если данные фиксированной длины

Если ты АБСОЛЮТНО уверен. Ну и для поля фиксированной длины твой default
выглядит странно, ведь он короче этой длины.

1. нет, это скажем так, тематическое сообщество. не суть, не буду тут рекламить. просто проблема в том, что если раньше были флеш куки, да и проверка по айпи помогала, то сейчас только такой вариант помогает от клонов.
2. длина ВСЕГДА будет 32 символа. Ну может со временем протокол поменяется, но вряд ли.
3. DEFAULT '' - это автоматом создалось, не знаю что туда писать, можно и NULL в принципе, т.к. это поле не может быть пустым (скрипт так или иначе отработает, а если нет - то это уже за рамками баз данных).



fkfka2

Я уже напуган. Неужели браузер в самом обычном HTTP передает что-то такое, что позволяет меня прямо уникально-уникально идентифицировать?

в http нет, но сам браузер - да. Изучите например это https://habr.com/ru/company/cloud4y/blog/548924/
есть что скрывать - юзайте тор браузер, при этом никогда не разворачивайте на полный экран, желательно через tails / whonix (опять же, это все за рамками баз данных).
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125362
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
Допустим, на сайте сидят 100 тыс человек, регится 100001ый .

- то есть предполагается, что логин и пароль как у нормальных людей таки присутствуют, раз всё таки "регится"....
- нужно только дополнительно хранить "пачпорт" для выявления клонов ?

Ну тогда можно хранить не 32 символа, а их контрольную сумму, хорошие алгоритмы с вероятностью повтора хотя бы 1 на 65 000 комбинаций приведут 32 символа к такому типу суммы АF03E (максимум 5 символов), их и хранить за юзером...
Алгоритм простой - засуммировал 32 символа от нового юзера, получил их сумму и ищешь именно эту сумму среди существующих, не нашел - записал нового юзера и его сумму в БД, нашлась сумма - принимай меры что хотел...
Как сделаешь, дай ссылку сайта на почту (в профиле есть) я зарегистрируюсь раз 5 и пришлю тебе свои логины...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125369
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgotDEFAULT '' - это автоматом создалось, не знаю что туда писать, можно и NULL в
принципе

Вот поэтому скрипты создания таблиц надо писать ручками, а не мышкой натыкивать.
Просто убери этот DEFAULT вообще.

morgotв http нет, но сам браузер - да
Телепатически, не иначе...

После выпиливания FTP, HTTP осталось единственным протоколом, поддерживаемым
браузерами и, соответственно, единственным способом что-то передать на сервер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125374
morgot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag

Ну тогда можно хранить не 32 символа, а их контрольную сумму, хорошие алгоритмы с вероятностью повтора хотя бы 1 на 65 000 комбинаций приведут 32 символа к такому типу суммы АF03E (максимум 5 символов), их и хранить за юзером...
по CRC32 - спасибо, надо опять же потестить коллизии, но может и норм будет; + в mysql вроде есть встроенная функция для рассчета контрольной суммы.
Dimitry Sibiryakov

morgotв http нет, но сам браузер - да

Телепатически, не иначе...

После выпиливания FTP, HTTP осталось единственным протоколом, поддерживаемым
браузерами и, соответственно, единственным способом что-то передать на сервер.
Вычисление параметров браузера идет не по протоколу хттп, не так выразился - не в плане что заголовки какие-то берутся или еще что. А JAVASCRIPT получает параметры браузера (шрифты, экран, и т.д. и т.п.). Без яваскриптов толку крайне мало, один юзерагент, который меняется.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125380
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
morgot
Вычисление параметров браузера идет не по протоколу хттп, не так выразился - не в плане что заголовки какие-то берутся или еще что. А JAVASCRIPT получает параметры браузера (шрифты, экран, и т.д. и т.п.). Без яваскриптов толку крайне мало, один юзерагент, который меняется.

Ну хорошо. У меня экран 3840х2160. Что это даст в решении задачи "отличи клона"?
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125382
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2,

это уже другая тема... ТС у интересно только как спрятать и потом найти 32 символа 100 тыщ раз...
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125403
morgot
Задача. Есть веб сайт (форум,соц. сеть, не суть). Для каждого пользователя генерируется уникальный идентификатор на основе данных браузера и подобного. Он выходит размером 32 символа. Уменьшить или изменить его нельзя. Перевести на смс-активацию, привязку к айпи и т.д. тоже нельзя. Только вот уникальный айди, который генерится особым образом, практически не дает коллизий и сбоев. Допустим, на сайте сидят 100 тыс человек, регится 100001ый . Нужно проверить, не является ли он клоном кого-то из этих товарищей . Исходя из этого, нужно спроектировать таблицу.

на уровне приложения - это всё медленно и уронит сайт при наплыве ботов. Надо выносить хотя бы в Nginx, а лучше в iptables.
А ещё, это всё полная ерунда, и против нормальных ботов не сработает. Там прокси и полностью рандомные браузерные данные.

Вот простое решение, которое пришло на ум:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
// в css-файле (именно в файле, а не inline css) создаем новый класс:
.bgimage {
    background-image: url('bg.gif');
    width: 1px;
    heigth: 1px;
}

// в html коде на любой видимый элемент в начале (лучше в шапке) сайта вешаем класс:
<div class="bgimage"></div>

// в nginx:
http {
    log_format ips_only '$remote_addr';
}

// создаем новый специальный location:
location = /bg.gif {
    empty_gif;
    if ($not_bot) {
        access_log /var/log/nginx/bgimage_access.log ips_only;
    }
}
    
// и добавляем логирование неботов
location / {
    if ($not_bot) {
        access_log /var/log/nginx/notbot_access.log ips_only;
    }
}
  
$not_bot - кастомная переменная, в которой вычислили, что текущий юзер не является хорошим ботом, т.е. это не google bot, не яндекс бот и тд, лучше это сделать через map {}

// в итоге получим 2 файла:
notbot_access.log - потенциальные хорошие юзеры с полноценными браузерами, которых еще раз хотим проверить, боты они или нет
bgimage_access.log - те же самые юзеры, но которые помимо загрузки html, еще загрузили картинку

те, которые есть в notbot_access.log, но нет в bgimage_access.log - боты
надо grep-ом сравнить 2 файла и разницу двух множеств записать в черный список IP. Делать это можно по крону каждые N минут.
При сравнении файлов учесть пограничные случаи, когда в один лог успел попасть IP, а в другой не успел. Поэтому из notbot_access.log лучше с конца убрезать последние N секунд.

...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125404
Dimitry Sibiryakov
После выпиливания FTP, HTTP осталось единственным протоколом, поддерживаемым
браузерами и, соответственно, единственным способом что-то передать на сервер.

scp
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125406
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morgot
miksoft
Сделайте это поле первичным ключом. Будет и скорость, и уникальность.
Тип данных, правда, дает некоторые сомнения, но для начала сойдет и CHAR(32).
Если покажете реальные значения, которые там предполагается хранить, то может еще чего присоветуем.

Первичным? Думал, что в базах данных всегда желательно первичным делать INT , т.к. в нем auto increment, и вроде как база сама создает такое значение, если не указать явно? или путаю?
Автоинкремент используют, когда нет подходящего внешнего источника ключей. У вас же он есть.
Технически, конечно, никто не запрещает сделать и автоинкрементный INT, а на ваш CHAR(32) наложить отдельный индекс с уникальностью. Но зачем, когда можно совместить?
И выборка будет быстрее идти, т.к. прочитать запись из таблицы по первичному ключу будет быстрее,чем сначала получить первичный ключ из индекса, а потом все равно читать таблицу по первичному ключу.

Комментарий для остальных - в MySQL основной тип таблиц на текущий момент - это InnoDB, а у него все таблицы являются IOT в терминах Оракла.
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125412
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчикscp

Какой браузер его поддерживает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать таблицу, если выборка по строкам
    #40125417
Dimitry Sibiryakov
бабушкин зайчикscp

Какой браузер его поддерживает?
а ты собрался через браузер заливать НА сервер что-то?
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спроектировать таблицу, если выборка по строкам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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