powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как быстрее всего найти запись в MS SQL и в MY SQL?
22 сообщений из 22, страница 1 из 1
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38317740
Собственно вопрос не в том как найти, а как найти быстрее!
Например, в фоксе делается просто LOCATE FOR ...
Однако в других базах данных начинается надо зачем то делать SELECT SQL ...
Вопрос:
В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру.
Почему этого понятия нет в крутых субд?
Ничего умнее не придумали кроме как долбаный SELECT SQL?
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38317806
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студенточка,

А представьте себе таблицу с млн. записей, с тысячами пользователей. Эти пользователи добавляют, помечают
на удаление записи. Существуют десятки индексов. Всё это живёт.
Как тогда определить физическое положение текущей записи? Да и зачем? Ведь проще использовать уникальный
идентификатор. Номер записи тоже идентификатор, но если постоянно удалять помеченные записи - то этот
идентификатор становится не верным.
Проще сделать выборку по каким-то критериям. Обработать выбранное и слить обратно в базу, использую
уникальный идентификатор.
Для всего это есть три основных SQL команды SELECT, INSERT, DELETE.

И кстати LOCATE FOR гораздо медленней чем SEEK
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38317941
alextashk,

У фоксовской базы может быть тысячи пользователей, но есть понятие Pointer - указатель записи.
У каждого пользователя БД свой Pointer и даже несколько поинтеров для каждой таблицы!
SEEK работает медленнее чем LOCATE, так как SEEK работает при включённом SET ORDER ...
В описании оптимизатора Rushmore чётко и ясно сказано - SET ORDER замедляет работу Rushmore оптимизатора.
В документации рекомендуют все SET ORDER отключать для максимально быстрого поиска.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318000
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студенточка,
В Фоксе самый быстрый поиск - это
Код: sql
1.
GO (NumberOfRecord)
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318126
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее!
Например, в фоксе делается просто LOCATE FOR ...
Однако в других базах данных начинается надо зачем то делать SELECT SQL ...
Вопрос:
В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру.
Почему этого понятия нет в крутых субд?
Ничего умнее не придумали кроме как долбаный SELECT SQL?


1. Найти быстрее можно по индексу, ... отсюда вывод - надо создать индекс по искомому выражению.

2. Locate если он оптимизирован так же ищет по индексу, поэтому разницы между Locate и Seek нет, будет одинаково по скорости.

3. А вы уверены, что "Там где я стою" ещё существует, возможно этот набор записей уже удалён или модифицирован :)

4. В "крутых" СУБД есть другое понятие - это кеш, те сервер держит некторое время результат выборки в памяти (временной БД) из соображений, что юзер повторит запрос.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318157
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее!
...

А по сути вопроса "Как быстрее всего найти запись в MS SQL и в MY SQL? " - это в профильные форумы
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318239
PaulWist,

Ты чо тупой? Или только на вид?
Ты вопрос читать умеешь?
Вопрос:
В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру.
Есть ли аналог поинтера в других СУБД таких как mysql или mssql?
SELECT SQL возвращает результат в виде таблицы - это всё медленное дерьмо. Мне это не подходит! Я хочу Pointer как в фоксе!
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318272
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтуденточкаPaulWist,

Ты вопрос читать умеешь?
Вопрос:
В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру.
Есть ли аналог поинтера в других СУБД таких как mysql или mssql?
SELECT SQL возвращает результат в виде таблицы - это всё медленное дерьмо. Мне это не подходит! Я хочу Pointer как в фоксе!

Ещё раз, для тех кто умеет читать

1. Данный форум по FoxPro, Visual FoxPro

2. Что бы выяснить "Есть ли аналог поинтера в других СУБД таких как mysql или mssql?" необходимо перейти в соответствующие форумы по MSSQL и MySQL.

Ссылку дать или сами дорогу найдёте?
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318578
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студенточка,

1. Не надо хамить.
2. Судя по всему вы не видите разницы между файл-сервер и SQL-сервер.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318613
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PennerСтуденточка,

1. Не надо хамить.
2. Судя по всему вы не видите разницы между файл-сервер и SQL-сервер.

Саня, привет - это троль, не обращай внимание.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38318629
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistСаня, привет - это троль, не обращай внимание.

Привет.

Так пусть и сидит у себя под мостом.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319434
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist - это троль, не обращай внимание.

Троль троллем, да и лексикон его оставляет желать лучшего.
Но по существу им поставленного вопроса никто ведь не ответил.

Зачем обязательно надо все мерить на млн. записей, тысячи пользователей, десятки индексов.
Это уже стало как мантра, когда сказать нечего.
Уйма же задач с несколькими основными таблицами, с десятком справочников.
Фокс же на этом своем поле проиграл 1C, Delphi, Access.

И речь идет не о добавлении или удалении, а о поиске.
Если уж знаток VFP считают команду GO поиском.
Да и мостостроитель по существу ничего не сказал.
Интересно, в чем же отличия серверов - разумеется, не общие рассуждения, а по тематике поиска конкретно.
Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek", а в Фоксе будет все Create SQL View ...
Зачем же гнать тему на другой форум - что вам стоит эти процедуры написать, успокоить ТС.

Вообще-то Locate с Seek только новички меряют.
Раньше Locate применяли, когда как раз излишнее индексирование нецелесообразно.
Если набор записей удален, то на нем Locate не останавливался - зачем.
И в Фоксе результат выборки можно "держать" - значит он "крутой".
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319629
Pasha2641
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sg12Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek"

Ну так покажи примеры ХП.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319744
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтуденточкаСобственно вопрос не в том как найти, а как найти быстрее!
Например, в фоксе делается просто 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 существенно ускорит поиск.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319818
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sg12Если уж знаток VFP считают команду GO поискомИ не только считаю, а даже реализовывал... А вы и не уточнили, что подразумеваете под словом "поиск".
Например, если я в качестве ключа использую номер записи (а записи из таблиц никогда не удаляю) - то "поиск нужной записи" и сводится к переходу по GO . Опять же, как мы помним, на неиндексированной дочерней таблице выражение SET RELATION TO <число> в родителе - вызывает установку указателя в дочерней на запись с номером <число>... А GO для dbf-таблиц - операция чисто арифметическая, поэтому она и будет "самым быстрым поиском", даже быстрее любого поиска по бинарному дереву индекса.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319822
ВладимирМПри работе с таблицами 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 нахрен.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38319833
СтуденточкаУ каждого есть 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) и т.д., на которых пишутся хранимые процедуры и которые выполняются на стороне сервера...
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38320156
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Студенточка,
вы не различаете файл-серверную и клиент-серверную технологии.

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

При этом совершенно непонятно ваше отрицательное отношение к SQL.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38320219
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha2641sg12Предположим, в SQL будет ХП, только с именами "SQL-Locate" или "SQL-Seek"

Ну так покажи примеры ХП.Очевидно, что имелась в виду процедура, принимающая значение ПК (ну или значения искомых полей) и возвращающая запись по этому ПК
Студенточкаmysql это тоже текстовый файл, состоящий из записей.Ув. тов. Дедал, перелогиньтесь.
FfffffffffffffffПри этом совершенно непонятно ваше отрицательное отношение к SQL.Что непонятного? Товарищу не нравится парадигма клиент-серверных СУБД (о как! :) ), в частности то, что нельзя использовать "указатель" на сервере (потому как таких "указателей" там по определению нет). Вот такое идеологическое неприятие. Единственное, что можно посоветовать - смириться или продолжать использовать дбф.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38320470
Ffffffffffffffffв случае с промышленной СУБД вы выкачиваете в клиентскую программу порцию данных и в ней уже можете пользоваться тем же указателем, если вам так нравится.
При этом совершенно непонятно ваше отрицательное отношение к SQL.
У каждого подключения к "типа промышленной бд" есть идентификатор подключения.
Через это подключение идёт обмен данными. Сервер хранит это подключение до тех пор пока клиент не отключится.
Вывод - субд может и должна иметь указатель записи Pointer, но программёры создатели субд были конченными двоечниками (как билл-дебил) и не додумались до того что давно уже есть в фоксе.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38320504
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ffffffffffffffff
И в VFP можно выкачивать данные, не обязательно работать напрямую - DE, курсоры, представления, сессии, буферизации ...

Станислав С...кий
В принципе не только в DBF данные можно свести к тексту - вопрос только редактора.

tanglir, Pasha2641
Примеры ХП вы можете посмотреть через Поиск с ключевым словом "procedure".

ЗЫ. Загадал Студенточка знатокам задачу, что только не перебрали.
Даже поэма о Locate и Seek от ВладимираМ не убедила.
В принципе ведь можно ввести в SQL-сервер функции типа Locate - при соответствующем подходе, разумеется.
Только будет нарушено одно важное условие.
...
Рейтинг: 0 / 0
Как быстрее всего найти запись в MS SQL и в MY SQL?
    #38320557
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСобственно вопрос не в том как найти, а как найти быстрее!
Например, в фоксе делается просто LOCATE FOR ...


На самом деле как будет работать LOCATE, на сколько быстро, тоже зависит от того, будет ли использоваться индекс, или нет.

авторОднако в других базах данных начинается надо зачем то делать SELECT SQL ...

Ну, не делай.


авторВопрос: В фоксе есть понятие Pointer "Там где я стою" - Отуда и беру.
Почему этого понятия нет в крутых субд?

Есть, называется КУРСОР. Практически все СУБД реляционные это поддерживают.

авторНичего умнее не придумали кроме как долбаный SELECT SQL?

Как бы данных стало больше. На дурацком ISAM уже мало что можно обработать, просто тупо не успеешь за весь срок твоей жизни.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как быстрее всего найти запись в MS SQL и в MY SQL?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]