|
Хранение аналога массива
|
|||
---|---|---|---|
#18+
Доброго дня! Я запутался в MySql. У меня есть две таблицы - таблица городов и таблица пользователей. У каждого пользователя может быть указан один или несколько городов. До недавнего времени я хранил в текстовом поле у пользователя json массив из id городов, потом перешел на свою текстовую шифровку массива. Но поиск пользователей по городам был долог, так как поиск по вхождению в строку занимает много времени. Пока не пришла идея, что в MySql наверняка есть более оптимальный способ хранения списков. Я гуглил про связки один ко многим и много ко многим, но запутался окончательно. Скажите, пожалуйста, как наиболее оптимально хранить списки городов у каждого пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 15:49 |
|
Хранение аналога массива
|
|||
---|---|---|---|
#18+
Универсальный способ - дополнительная таблица с полями айди города и айди пользователя. В последних версиях MySQL есть штатная поддержка JSON, но не факт, что в полной мере подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 16:33 |
|
Хранение аналога массива
|
|||
---|---|---|---|
#18+
ball37Доброго дня! Я запутался в MySql. У меня есть две таблицы - таблица городов и таблица пользователей. У каждого пользователя может быть указан один или несколько городов. До недавнего времени я хранил в текстовом поле у пользователя json массив из id городов, потом перешел на свою текстовую шифровку массива. Но поиск пользователей по городам был долог, так как поиск по вхождению в строку занимает много времени. Пока не пришла идея, что в MySql наверняка есть более оптимальный способ хранения списков. Я гуглил про связки один ко многим и много ко многим, но запутался окончательно. Скажите, пожалуйста, как наиболее оптимально хранить списки городов у каждого пользователя. Связь многие ко многим называется, поищи в сети, почитай Вкратце -- таблица ещё одна, (город, пользователь) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:50 |
|
|
start [/forum/topic.php?fid=47&msg=39858997&tid=1828981]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 155ms |
0 / 0 |