SQL-запрос для поиска быстрее или с использованием хэш-таблицы - PullRequest
0 голосов
/ 12 декабря 2010

Если я ищу запись в базе данных, пишет ли SQL-запрос для прямого поиска в базе данных ИЛИ читает все данные из базы данных в хеш-таблицу, а затем выполняет поиск в O (1) раз быстрее?Этот вопрос для опытных программистов, которые сталкивались с такими проблемами в прошлом.

Ответы [ 5 ]

2 голосов
/ 12 декабря 2010

Если вы знаете, что первичный ключ строки или столбца, по которому вы ведете поиск, проиндексирован, то поиск "с использованием SQL будет намного быстрее. Особенно, если ваша таблица не помещается в память.

1 голос
/ 12 декабря 2010

Создание прямого SQL-запроса к базе данных, очевидно, будет гораздо быстрее, чем первое чтение всех записей в хеш-таблицу и поиск по ней. Это не только сэкономит ваше время при загрузке всех записей сначала в хеш-таблицу, а затем при их поиске. Во-вторых, это также сэкономит много памяти, которую будут использовать ваши хеш-таблицы.

Я сталкивался с подобными ситуациями. Надеюсь, это поможет вам!

0 голосов
/ 10 августа 2016

Несмотря на то, что СУБД считается достаточно удобной средой по сравнению с хеш-таблицей.если вы пытаетесь получить результаты с несколькими тысячами записей, вам не нужно создавать индекс.это зависит от необходимости.Таким образом, гораздо легче получить ответы от удаленного компьютера с помощью трехуровневых приложений.он заботится о количестве строк, скорости ввода-вывода и т. д.

0 голосов
/ 09 августа 2016

Sql Server Database работает быстрее и лучше, чем Hash-таблица.одна важная причина позади.Хеш-таблица считывает данные один раз из вторичного хранилища и затем загружается в память.Теперь легко определить, что произойдет?Хранение данных в огромной манере, система будет медленной.будет трудно манипулировать и извлекать записи .....

0 голосов
/ 12 декабря 2010

Если таблица SQL не проиндексирована, вам придется выполнить сравнительный анализ, чтобы найти ответ.Поскольку существует множество факторов, таких как количество строк, скорость ввода-вывода, скорость сети (если база данных находится на удаленном компьютере), трудно просто дать ответ на вопрос

С другой стороны, индексированиеСтол - лучший выбор.Просто оставьте работу СУБД СУБД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...