|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2015, 14:23 | #1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Вопрос по оптимизации запросов.
Имеется 2 таблицы MySql:
1)число записей 10~200 2)число записей 0~10 000 При организации запросов у меня 2 варианта: 1)Просто поиск по строковому полю (1-8 символов) в первой таблице, далее необходимые мне действия, далее запрос ко второй таблице на поиск по такому же строковому полю (1-8 символов) , после может быть либо добавление новой записи либо удаление всех записей из предыдущей выборки. 2)Сделать в первой таблице поле с уникальными номерами соответствующие строковому полю (1-8 символов)При этом порядок этих цифр (индексов не строго прямого направления не 1,2,3,4,5 а может быть хаотичным и даже с пропусками некоторых номеров). Во второй таблице вместо этого строкового полю (1-8 символов) такое же цифровое поле как в первой таблице и по нему поиск и остальные действия аналогичны. Т.е. Вопрос в общем то в том будет ли значительная разница в производительности между поиском по строкам и цифрам на таком количестве записей. Либо вообще мне делать специально для этого тесты приближенные к реальности? Последний раз редактировалось Illusiony; 17.01.2015 в 14:26. |
17.01.2015, 15:03 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
Большего сказать не могу, так как полезных данных в описании кот наплакал.
I'm learning to live...
|
|
17.01.2015, 18:29 | #3 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Да индексация будет присутствовать в первой таблице по строковому полю ( там записей не так много и все равно нужно будет сравнивать строковое значение при запросе)
А во второй таблице с вариантом 1 по строковому полю, с вариантом 2 по числовому полю ( строкового поля тогда не будет вообще) Вопрос в том что количество строк во второй таблице может быть совершенно разным от 0 до нескольких тысяч. Как оценивать когда ( при скольких записях во второй таблице примерно) разница в производительности начинает сказываться? |
17.01.2015, 18:35 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Цитата:
Узнать ее поможет EXPLAIN PLAN показав стоимость запросов. Если стоимость будет высока или вообще FULL FETCH то нужно бить тревогу - полный проход идет. Иначе при правильной подстройке индексации к запросам стоимость запроса будет одинакова что для таблицы с 10-ю записями что для таблицы с 10 лимонами записей - на то он и индекс . Как бинарный поиск работает знаешь? Стоит эту степь освоить, тогда поймешь как СУБД будет запрос выполнять с использованием индекса.
I'm learning to live...
|
|
17.01.2015, 20:57 | #5 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Знаю пузырьковый метод поиска, это онже или нет не знаю
|
17.01.2015, 21:01 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Впервые слышу...
Короче говоря - считай стоимость запроса. Только это даст тебе ответ на вопрос производительности.
I'm learning to live...
|
17.01.2015, 21:17 | #7 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Да, спасибо.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с периодами и датами, вопрос по оптимизации | RusikOk | SQL, базы данных | 2 | 02.08.2014 01:40 |
Не большой вопрос по оптимизации | Shad0wF1rst | Общие вопросы C/C++ | 18 | 06.06.2013 15:42 |
Вопрос оптимизации работы с MS Word | Mixasik | Общие вопросы Delphi | 1 | 15.06.2009 12:13 |
Вопрос оптимизации программы на С++ | argrus | Помощь студентам | 9 | 29.03.2008 23:54 |