|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Собственно вопрос не в том как найти, а как найти быстрее! Например, в фоксе делается просто LOCATE FOR ... Однако в других базах данных начинается надо зачем то делать SELECT SQL ... Вопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Почему этого понятия нет в крутых субд? Ничего умнее не придумали кроме как долбаный SELECT SQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 20:10 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Студенточка, А представьте себе таблицу с млн. записей, с тысячами пользователей. Эти пользователи добавляют, помечают на удаление записи. Существуют десятки индексов. Всё это живёт. Как тогда определить физическое положение текущей записи? Да и зачем? Ведь проще использовать уникальный идентификатор. Номер записи тоже идентификатор, но если постоянно удалять помеченные записи - то этот идентификатор становится не верным. Проще сделать выборку по каким-то критериям. Обработать выбранное и слить обратно в базу, использую уникальный идентификатор. Для всего это есть три основных SQL команды SELECT, INSERT, DELETE. И кстати LOCATE FOR гораздо медленней чем SEEK ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 21:22 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
alextashk, У фоксовской базы может быть тысячи пользователей, но есть понятие Pointer - указатель записи. У каждого пользователя БД свой Pointer и даже несколько поинтеров для каждой таблицы! SEEK работает медленнее чем LOCATE, так как SEEK работает при включённом SET ORDER ... В описании оптимизатора Rushmore чётко и ясно сказано - SET ORDER замедляет работу Rushmore оптимизатора. В документации рекомендуют все SET ORDER отключать для максимально быстрого поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2013, 23:56 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Студенточка, В Фоксе самый быстрый поиск - это Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 01:45 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее! Например, в фоксе делается просто LOCATE FOR ... Однако в других базах данных начинается надо зачем то делать SELECT SQL ... Вопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Почему этого понятия нет в крутых субд? Ничего умнее не придумали кроме как долбаный SELECT SQL? 1. Найти быстрее можно по индексу, ... отсюда вывод - надо создать индекс по искомому выражению. 2. Locate если он оптимизирован так же ищет по индексу, поэтому разницы между Locate и Seek нет, будет одинаково по скорости. 3. А вы уверены, что "Там где я стою" ещё существует, возможно этот набор записей уже удалён или модифицирован :) 4. В "крутых" СУБД есть другое понятие - это кеш, те сервер держит некторое время результат выборки в памяти (временной БД) из соображений, что юзер повторит запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 09:32 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее! ... А по сути вопроса "Как быстрее всего найти запись в MS SQL и в MY SQL? " - это в профильные форумы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 09:54 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
PaulWist, Ты чо тупой? Или только на вид? Ты вопрос читать умеешь? Вопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Есть ли аналог поинтера в других СУБД таких как mysql или mssql? SELECT SQL возвращает результат в виде таблицы - это всё медленное дерьмо. Мне это не подходит! Я хочу Pointer как в фоксе! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 10:43 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
СтуденточкаPaulWist, Ты вопрос читать умеешь? Вопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Есть ли аналог поинтера в других СУБД таких как mysql или mssql? SELECT SQL возвращает результат в виде таблицы - это всё медленное дерьмо. Мне это не подходит! Я хочу Pointer как в фоксе! Ещё раз, для тех кто умеет читать 1. Данный форум по FoxPro, Visual FoxPro 2. Что бы выяснить "Есть ли аналог поинтера в других СУБД таких как mysql или mssql?" необходимо перейти в соответствующие форумы по MSSQL и MySQL. Ссылку дать или сами дорогу найдёте? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 10:59 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Студенточка, 1. Не надо хамить. 2. Судя по всему вы не видите разницы между файл-сервер и SQL-сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 13:12 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
PennerСтуденточка, 1. Не надо хамить. 2. Судя по всему вы не видите разницы между файл-сервер и SQL-сервер. Саня, привет - это троль, не обращай внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 13:28 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
PaulWistСаня, привет - это троль, не обращай внимание. Привет. Так пусть и сидит у себя под мостом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 13:37 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
PaulWist - это троль, не обращай внимание. Троль троллем, да и лексикон его оставляет желать лучшего. Но по существу им поставленного вопроса никто ведь не ответил. Зачем обязательно надо все мерить на млн. записей, тысячи пользователей, десятки индексов. Это уже стало как мантра, когда сказать нечего. Уйма же задач с несколькими основными таблицами, с десятком справочников. Фокс же на этом своем поле проиграл 1C, Delphi, Access. И речь идет не о добавлении или удалении, а о поиске. Если уж знаток VFP считают команду GO поиском. Да и мостостроитель по существу ничего не сказал. Интересно, в чем же отличия серверов - разумеется, не общие рассуждения, а по тематике поиска конкретно. Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek", а в Фоксе будет все Create SQL View ... Зачем же гнать тему на другой форум - что вам стоит эти процедуры написать, успокоить ТС. Вообще-то Locate с Seek только новички меряют. Раньше Locate применяли, когда как раз излишнее индексирование нецелесообразно. Если набор записей удален, то на нем Locate не останавливался - зачем. И в Фоксе результат выборки можно "держать" - значит он "крутой". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 18:38 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
sg12Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek" Ну так покажи примеры ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 21:25 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее! Например, в фоксе делается просто LOCATE FOR ... Однако в других базах данных начинается надо зачем то делать SELECT SQL ... Вопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Почему этого понятия нет в крутых субд? При работе с таблицами DBF, Вы, фактически, обращаетесь напрямую к таблице. Это некий аналог чтения текстового файла. Естественно, Вы точно знаете, где именно Вы "стоите". Какое именно место файла "читаете". А вот при работе с "промышленными" СУБД прямого доступа к файлу данных у Вас нет. Совсем нет! Более того, прямого доступа к файлу данных вообще никто не имеет. "Взрослые" СУБД - это всегда "два-в-одном". Во-первых, конечно, собственно данные, а, во-вторых, некое приложение (драйвер, служба, утилита и т.п.) которая как раз и обеспечивает доступ к этим данным. Вы никак, никоим образом, не можете обратится напрямую к файлу данных. Только и исключительно через приложение-посредник. Данные всегда "закрыты" неким "защитником" ("хранителем", "джинном", "библиотекарем"). Взаимоотношения любого пользователя с промышленной СУБД можно представить как постоянные запросы этому самому "джинну": Не будет ли любезен, многоуважаемый джинн... А уж сам "джинн" решит будет ли он "любезен" Обратите внимание, что в данном случае "библиотекарь" книгу Вам в руки не даст. Никогда и ни при каких условиях. Максимум, что Вы можете получить - это некую копию. Выборку. Результат работы Select-SQL. Теперь вопрос Вам. Как именно при такой организации работы Вы предполагаете чисто физически определять где именно Вы стоите? Т.е. вот Вы разработчик "промышленной" СУБД. Как будете определять "где я стою"? ЧТО должен "запомнить" этот самый "джинн" ("библиотекарь")? Каким образом идентифицировать "текущее положение"? СтуденточкаНичего умнее не придумали кроме как долбаный SELECT SQL? А какие у Вас претензии к Select-SQL? Что именно не нравится? СтуденточкаУ фоксовской базы может быть тысячи пользователей, но есть понятие Pointer - указатель записи. У каждого пользователя БД свой Pointer и даже несколько поинтеров для каждой таблицы! Еще раз напомню, что к файлам DBF Вы обращаетесь как к текстовому файлу. Естественно, у Вас всегда есть некое "текущее положение". К промышленным СУБД Вы посылаете запрос с просьбой предоставить некую выборку. Некую копию данных. Как следствие, у Вас нет и не может быть "текущего" положения. Вы же не знаете из какого именно места данных была получена выборка. СтуденточкаSEEK работает медленнее чем LOCATE, Мда... Это Вас кто-то жестоко обманул. Ну, представьте, что у Вас есть некая книга (файл DBF). Вам надо найти некую главу в этой книге. У Вас есть два варианта поиска 1. Последовательно перелистывать страницу за страницей, пока не найдете искомую главу 2. Если у книги есть оглавление (индекс), то найти нужную главу в оглавлении и сразу перейти к нужной странице без перелистывания всех страниц книги Так вот, LOCATE работает по первому варианту, а SEEK - по второму. Вы серьезно думаете, что поиск перебором быстрее, чем поиск по оглавлению? Разумеется, поиск по оглавлению работает только и исключительно при наличии этого самого оглавления. Т.е. при наличии индекса. Нет индекса и использование SEEK - невозможно. Только Locate Студенточкатак как SEEK работает при включённом SET ORDER ... Обратите внимание, что кроме команды SEEK для которой действительно нужна настройка SET ORDER, есть еще и одноименная функция SEEK() для которой настройка SET ORDER не обязательна. Хотя обязательным является факт наличия необходимого индекса. СтуденточкаВ описании оптимизатора Rushmore чётко и ясно сказано - SET ORDER замедляет работу Rushmore оптимизатора. В документации рекомендуют все SET ORDER отключать для максимально быстрого поиска. Здесь опять надо начать издалека. Есть такая аксиома: Данные хранятся не так, как они отображаются. Пользователю в одном случае надо "белый верх, черный низ", а в другом "черный верх, белый низ". Т.е. одна из задач программиста заключается в том, чтобы отобразить данные в некоем виде, удобном для просмотра пользователем. Так вот, настройка SET ORDER именно этим и занимается. Она отображает данные в определенном порядке. Это некая "визуализация" данных. Но нужна ли "визуализация" для поиска данных? Разумеется нет! Вполне можно обойтись и без нее. Достаточно того, чтобы нужный индекс просто существовал. Делать его главным (SET ORDER) для целей поиска нет никакой необходимости. Т.е., разумеется, можно, но не обязательно. Более того, "визуализация" неизбежно замедляет поиск, если критерии поиска отличны от критериев "визуализации". Ну, представьте себе, что у Вас есть книга "рассыпанная" на отдельные страницы и оглавление к этой книге. Вам надо найти некий текст. Не главу, а именно текст внутри неизвестно какой главы. SET ORDER вынуждает Вас перебирать листы строго в порядке их нумерации. Т.е. вместо того, чтобы взять первый попавшийся лист и поискать в нем нужный текст, если не нашли, то взять следующий попавшийся лист и т.п., Вы вынуждены сначала в этой куче найти лист с нужным номером и только потом в найденном листе искать текст. Однако! Повторюсь. Замедление происходит только и исключительно в том случае, если критерии поиска отличны от выражения индекса использованного для SET ORDER. Если Вы будете искать именно по названию главы (по оглавлению), то SET ORDER существенно ускорит поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2013, 23:48 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
sg12Если уж знаток VFP считают команду GO поискомИ не только считаю, а даже реализовывал... А вы и не уточнили, что подразумеваете под словом "поиск". Например, если я в качестве ключа использую номер записи (а записи из таблиц никогда не удаляю) - то "поиск нужной записи" и сводится к переходу по GO . Опять же, как мы помним, на неиндексированной дочерней таблице выражение SET RELATION TO <число> в родителе - вызывает установку указателя в дочерней на запись с номером <число>... А GO для dbf-таблиц - операция чисто арифметическая, поэтому она и будет "самым быстрым поиском", даже быстрее любого поиска по бинарному дереву индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 03:12 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
ВладимирМПри работе с таблицами DBF, Вы, фактически, обращаетесь напрямую к таблице. Это некий аналог чтения текстового файла. Естественно, Вы точно знаете, где именно Вы "стоите". Какое именно место файла "читаете". А вот при работе с "промышленными" СУБД прямого доступа к файлу данных у Вас нет. Совсем нет! Более того, прямого доступа к файлу данных вообще никто не имеет. "Взрослые" СУБД - это всегда "два-в-одном". Во-первых, конечно, собственно данные, а, во-вторых, некое приложение (драйвер, служба, утилита и т.п.) которая как раз и обеспечивает доступ к этим данным. Вы никак, никоим образом, не можете обратится напрямую к файлу данных. Только и исключительно через приложение-посредник. Данные всегда "закрыты" неким "защитником" ("хранителем", "джинном", "библиотекарем"). Взаимоотношения любого пользователя с промышленной СУБД можно представить как постоянные запросы этому самому "джинну": Не будет ли любезен, многоуважаемый джинн... А уж сам "джинн" решит будет ли он "любезен" Не соглашусь с ответом. Допустим есть база DBF на сервере в локальной сети, к базе подключены десятки юзеров и работают с базой. У каждого есть Pointer и каждый может узнать номер записи и т.д. и т.п. В фоксе у каждой записи есть свой номер и это логично. В mysql и mssql номера записи нет? Если мне надо в цикле лопатить записи, тогда делать на каждую запись SELECT SQL это дольше чем LOCATE. ВладимирМОбратите внимание, что в данном случае "библиотекарь" книгу Вам в руки не даст. Никогда и ни при каких условиях. Максимум, что Вы можете получить - это некую копию. Выборку. Результат работы Select-SQL. Теперь вопрос Вам. Как именно при такой организации работы Вы предполагаете чисто физически определять где именно Вы стоите? Т.е. вот Вы разработчик "промышленной" СУБД. Как будете определять "где я стою"? ЧТО должен "запомнить" этот самый "джинн" ("библиотекарь")? Каким образом идентифицировать "текущее положение"? В случае с локальной сетью мы имеем Poiner и номер записи. Аналогично могли бы сделать и в "типа промышленной" БД. ВладимирМЕще раз напомню, что к файлам DBF Вы обращаетесь как к текстовому файлу. Естественно, у Вас всегда есть некое "текущее положение". К промышленным СУБД Вы посылаете запрос с просьбой предоставить некую выборку. Некую копию данных. Как следствие, у Вас нет и не может быть "текущего" положения. Вы же не знаете из какого именно места данных была получена выборка. mysql это тоже текстовый файл, состоящий из записей. Кстати слово текстовый не совсем корректно по отношению к структуре DBF. ВладимирММда... Это Вас кто-то жестоко обманул. Ну, представьте, что у Вас есть некая книга (файл DBF). Вам надо найти некую главу в этой книге. У Вас есть два варианта поиска 1. Последовательно перелистывать страницу за страницей, пока не найдете искомую главу 2. Если у книги есть оглавление (индекс), то найти нужную главу в оглавлении и сразу перейти к нужной странице без перелистывания всех страниц книги Так вот, LOCATE работает по первому варианту, а SEEK - по второму. Вы серьезно думаете, что поиск перебором быстрее, чем поиск по оглавлению? Разумеется, поиск по оглавлению работает только и исключительно при наличии этого самого оглавления. Т.е. при наличии индекса. Нет индекса и использование SEEK - невозможно. Только Locate Ты чушь собачью написал. Поиск LOCATE может быть Оптимизируемым,Не оптимизируемым,и Частично оптимизируемым. Механизм Rushmore работает при наличии фразы FOR, индекса CDX по полю и при наличии оптимизируемого выражения. В документации сказано чётко и ясно: - Включение SET ORDER может замедлять работу Rushmore оптимизатора. LOCATE с использованием Rushmore с отключенными SET ORDER работает быстрее чем просто поиск по бинарному дереву SEEK. ЭТО ФАКТ! ЭТО ДАЖЕ НЕ ОБСУЖДАЕТСЯ! Хочешь сравнить скорость - проверяй сравнивай. Только сделай в цикле много разных запросов LOCATE и SEEK по разным таблицам и полям. ВладимирМесть еще и одноименная функция SEEK() для которой настройка SET ORDER не обязательна. Хотя обязательным является факт наличия необходимого индекса. Предпочитаю LOCATE так как она с фразой FOR, а следовательно поддерживается оптимизацией Rushmore. ВладимирМОднако! Повторюсь. Замедление происходит только и исключительно в том случае, если критерии поиска отличны от выражения индекса использованного для SET ORDER. Если Вы будете искать именно по названию главы (по оглавлению), то SET ORDER существенно ускорит поиск. SET ORDER в любом случае замедлит работу Rushmore - такова правда жизни. Любые накладывания SET ORDER замедляют оптимизацию. Это сказано в официальной печатной документации по фоксу. Если необходимо делать множество поисков в цикле, то отключай SET ORDER нахрен. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 03:33 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
СтуденточкаУ каждого есть Pointer и каждый может узнать номер записи и т.д. и т.п. В фоксе у каждой записи есть свой номер и это логично. В mysql и mssql номера записи нет? На самом деле уникальный идентификатор записи в промышленных БД есть. По крайней мере в Oracle это так. Но... "Только для служебного пользователя" севером БД, то есть для Вас оно недоступно. СтуденточкаКстати слово текстовый не совсем корректно по отношению к структуре DBF. Откройте любой незашифрованный файл DBF в любом текстовом редакторе и убедитесь, что он таки текстовый... Там и числа, и даты хранятся в текстовом виде. За исключением некоторой части (заголовка с описанием структуры) файла СтуденточкаЕсли мне надо в цикле лопатить записи, тогда делать на каждую запись SELECT SQL это дольше чем LOCATE. ... Только сделай в цикле много разных запросов LOCATE и SEEK по разным таблицам и полям. ... Если необходимо делать множество поисков в цикле, то отключай SET ORDER нахрен. Так Select-SQL и придумали для того, чтобы не делать эту пустую работу... Лет 10 назад, когда я начинал программировать, еще на FPD 2.6, мне тоже было проще написать цикл, который 30 минут лопатит базу, отбирая нужные записи, чем написать один SQL-запрос, который делает то же самое за 10 секунд. С тех пор мировоззрение сильно поменялось... А если нужно обязательно обрабатывать каждую отдельную запись в выборке, то есть языки Т-SQL (MS SQL SERVER), PL/SQL (ORACLE), Pg/SQL(PostreSQL) и т.д., на которых пишутся хранимые процедуры и которые выполняются на стороне сервера... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 06:16 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Студенточка, вы не различаете файл-серверную и клиент-серверную технологии. В FoxPro вы напрямую работаете с файлом, в случае с промышленной СУБД вы выкачиваете в клиентскую программу порцию данных и в ней уже можете пользоваться тем же указателем, если вам так нравится. При этом совершенно непонятно ваше отрицательное отношение к SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 11:40 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Pasha2641sg12Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek" Ну так покажи примеры ХП.Очевидно, что имелась в виду процедура, принимающая значение ПК (ну или значения искомых полей) и возвращающая запись по этому ПК Студенточкаmysql это тоже текстовый файл, состоящий из записей.Ув. тов. Дедал, перелогиньтесь. FfffffffffffffffПри этом совершенно непонятно ваше отрицательное отношение к SQL.Что непонятного? Товарищу не нравится парадигма клиент-серверных СУБД (о как! :) ), в частности то, что нельзя использовать "указатель" на сервере (потому как таких "указателей" там по определению нет). Вот такое идеологическое неприятие. Единственное, что можно посоветовать - смириться или продолжать использовать дбф. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 12:09 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Ffffffffffffffffв случае с промышленной СУБД вы выкачиваете в клиентскую программу порцию данных и в ней уже можете пользоваться тем же указателем, если вам так нравится. При этом совершенно непонятно ваше отрицательное отношение к SQL. У каждого подключения к "типа промышленной бд" есть идентификатор подключения. Через это подключение идёт обмен данными. Сервер хранит это подключение до тех пор пока клиент не отключится. Вывод - субд может и должна иметь указатель записи Pointer, но программёры создатели субд были конченными двоечниками (как билл-дебил) и не додумались до того что давно уже есть в фоксе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 13:49 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
Ffffffffffffffff И в VFP можно выкачивать данные, не обязательно работать напрямую - DE, курсоры, представления, сессии, буферизации ... Станислав С...кий В принципе не только в DBF данные можно свести к тексту - вопрос только редактора. tanglir, Pasha2641 Примеры ХП вы можете посмотреть через Поиск с ключевым словом "procedure". ЗЫ. Загадал Студенточка знатокам задачу, что только не перебрали. Даже поэма о Locate и Seek от ВладимираМ не убедила. В принципе ведь можно ввести в SQL-сервер функции типа Locate - при соответствующем подходе, разумеется. Только будет нарушено одно важное условие. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 14:04 |
|
Как быстрее всего найти запись в MS SQL и в MY SQL?
|
|||
---|---|---|---|
#18+
авторСобственно вопрос не в том как найти, а как найти быстрее! Например, в фоксе делается просто LOCATE FOR ... На самом деле как будет работать LOCATE, на сколько быстро, тоже зависит от того, будет ли использоваться индекс, или нет. авторОднако в других базах данных начинается надо зачем то делать SELECT SQL ... Ну, не делай. авторВопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру. Почему этого понятия нет в крутых субд? Есть, называется КУРСОР. Практически все СУБД реляционные это поддерживают. авторНичего умнее не придумали кроме как долбаный SELECT SQL? Как бы данных стало больше. На дурацком ISAM уже мало что можно обработать, просто тупо не успеешь за весь срок твоей жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 14:30 |
|
|
start [/forum/topic.php?fid=41&fpage=40&tid=1582977]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
102ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 454ms |
0 / 0 |