|
|
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Таблица такого вида. Код: sql 1. Я получаю Группу уникальных флагов к нику по колонке destname таком запросом Код: sql 1. Записей в таблице будет больше чем 20000. Как расставить индексы или изменить запрос для более быстрого ответа. Код: sql 1. тоже выполняется но не часто в час возможно около 50-100 Код: sql 1. и Код: sql 1. не выполняются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 11:41 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Попробуйте индексы (destname, flag) или (destname). По идее, первый должен быть быстрее. Поле flag может быть NULL? Почему имена пользователей не вынесены в отдельную таблицу пользователей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:10 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
miksoft, flag не может быть NULL, 0 или 1 ,больше значении нет. Пользователи есть в др. таблице но она большая. Да и смысл какои через 2 таблицы при инсерте ходить причем сразу 2х ников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:26 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Deus_2016Да и смысл какои через 2 таблицы при инсерте ходить причем сразу 2х никовФразу не понял, но пояснию - хранить идентификаторы пользователей дешевле, чем сами ники. Кроме того, размазывание ников по разным таблицам затрудняет некоторые операции. Например, смену ника у пользователя. А для ряда запросов все равно требуется соединение с таблицей пользователей, которую дешевле делать по числовым полям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:29 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
miksoft, Принципи я сразу понял к чему вы клонили, но не важно место да и бог с ним, да и ники сменить у нас нельзя, И плюс эта таблица не как не влияет на работу основнои задачи, это просто статистика. Я вот к чему возможно ли запрос сделать оптимальнее или возможна некоторая другая структура данных для быстрого поиска? Суть тут простая человек ставит + или - другому человеку. это сохраняется в таблице на мои взгляд которая очень простая и информативная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:43 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Deus_2016возможна некоторая другая структура данных для быстрого поиска?Про минимизацию хранимых данных я уже писал. Конкретно для запроса из начального поста больше нечего предложить кроме одного из пары индексов. Для других запросов - нужно смотреть конкретные запросы. Deus_2016Суть тут простая человек ставит + или - другому человеку.Для этой задачи назначение полей id и idhardware остается непонятным. Но это дело ваше, если считаете, что нужно - пусть будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:48 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
miksoft, id и idhardware. первое поле для первичного индекса. по другому я не могу. второе поле создает уникальнось при проверке idhardware в другом запросе чтоб можно было только один раз голосовать с одного компьютера. как я понимаю без первичного индекса не как не обоитись а др поля не могут быть уникальными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:54 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Deus_2016как я понимаю без первичного индекса не как не обоитисьНу если только по каким-то вашим собственным причинам (например, без этого не работает используемая библиотека). Самому MySQL все равно есть в таблице первичный ключ или нет. Deus_2016второе поле создает уникальнось при проверке idhardware в другом запросе чтоб можно было только один раз голосовать с одного компьютераДля этого нужен уникальный индекс (name, idhardware) или (name, destname, idhardware) в зависимости от деталей задачи. Он же мог бы быть и первичным ключом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 14:59 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
miksoft, да индекс по 3 полям. но для чего он нужен тогда собственно? если я всего лишь проверяю WHERE name AND idhardware AND destname, если ответ 0 то можно вставлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 15:04 |
|
||
|
Помогите расставить Индексы. если это возможно
|
|||
|---|---|---|---|
|
#18+
Deus_2016miksoft, да индекс по 3 полям. но для чего он нужен тогда собственно? если я всего лишь проверяю WHERE name AND idhardware AND destname, если ответ 0 то можно вставлятьВот для того и нужен, чтобы не проверять. Ну и чтобы исключить риск параллельной вставки в момент между проверкой и вставкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2016, 15:46 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39294646&tid=1831478]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 257ms |
| total: | 578ms |

| 0 / 0 |
