In-Memory SQL базы данных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 05.11.2014 (Ср) 16:07

ger_kar писал(а):Тут в принципе можно поставить рад экспериментов и на практике доказать или опровергнуть утверждение Файловая база = База в памяти.

Ну так и поставь эксперимент. :)
label:
cli
jmp label

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: In-Memory SQL базы данных

Сообщение jangle » 07.11.2014 (Пт) 16:42

Хакер писал(а):Возникает вопрос: зачем?

Это выбор между тем, хранить ли файл БД на диске или хранить файл БД на диске.


А если база лежит в OLE Storage? Чтобы ее использовать мне надо открыть хранилище, сохранить базу во временную папку, открыть ее,
записать даннные, закрыть, прочитать файл базы в память, открыть хранилище и положить в него базу, удалить временный файл.
Слишком много телодвижений. Если можно сразу открывать базу в OLE Storage или из памяти, то можно ускорить работу приложения.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 07.11.2014 (Пт) 19:30

jangle писал(а):А если база лежит в OLE Storage?

Неужели непонятно, что всё зависит от СУБД?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 07.11.2014 (Пт) 19:59

Хакер писал(а):Неужели непонятно, что всё зависит от СУБД?

Эм.. Сколько различных СУБД хранят данные именно в MDB-файлах? А сколько из них не умеют создавать временные таблицы?
Конечно могу ошибаться, но вроде как тут однозначно получается Access...

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 07.11.2014 (Пт) 20:07

Qwertiy писал(а):Эм.. Сколько различных СУБД хранят данные именно в MDB-файлах?
Ну если говорить о файлах, то варианты не исчерпываются только MDB-файлами. А старые добрые dbf файлы? Для создания временной таблицы можно даже Excel заюзать (это так для примера). Временную файловую базу для временных же таблиц можно сделать и на основе Firebird.
А можно не делать отдельную и создавать временные таблицы прямо в основной базе данных. Так что тут не все так однозначно.
Бороться и искать, найти и перепрятать

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: In-Memory SQL базы данных

Сообщение Хакер » 07.11.2014 (Пт) 21:05

Qwertiy писал(а):Эм.. Сколько различных СУБД хранят данные именно в MDB-файлах?

А где jangle упомянул mdb-файлы?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 07.11.2014 (Пт) 21:22

Кстати интересно, а кто нибудь вообще пользуется таким приёмом, как отбор и перенос данных во временные таблицы, с дальнейшей обработкой и включением такой таблицы в состав последующих запросов. Причем немаловажным фактором является именно возможность использования в запросе созданной временной таблицы в сочетании с другими таблицами и представлениями рабочей базы данных. Если например брать mdb файлы, то такая возможность имеется. Достаточно в рабочей базе создать ссылку на временную таблицу в другом файле (прилинковать временную таблицу к рабочей базе) и всё замечательно получится. Насчет других баз я не знаю, но вполне возможно. Надо кстати попробовать прилинковать к mdb'шной базе простую dbf таблицу, может чего и выйдет :). Если кто то пользуется чем то таким, то поделитесь опытом, если конечно не жалко :roll:
Бороться и искать, найти и перепрятать

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 07.11.2014 (Пт) 23:10

ger_kar писал(а):Кстати интересно, а кто нибудь вообще пользуется таким приёмом, как отбор и перенос данных во временные таблицы, с дальнейшей обработкой и включением такой таблицы в состав последующих запросов.

Конечно. В сохранённых процедурах во "взрослых" БД такой приём используется вовсю.

ger_kar писал(а):Надо кстати попробовать прилинковать к mdb'шной базе простую dbf таблицу, может чего и выйдет. Если кто то пользуется чем то таким, то поделитесь опытом, если конечно не жалко.

А чему там не выйти-то? Работает всё. Я много работал с линковкой внешних таблиц в mdb/dbf к mdb-шкам, а также с "выносом" таблицы из mdb-шки на удалённый SQL-сервер. Правда, это было 6 лет назад, но исходники на винте живы. :)
label:
cli
jmp label

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 08.11.2014 (Сб) 6:48

iGrok писал(а):Конечно. В сохранённых процедурах во "взрослых" БД такой приём используется вовсю.
Ну в сохраненных процедурах то да, используется, но там это все остается внутри этой процедуры. Тут же интерес в том, что-бы такую временную таблицу можно было напрямую в коде анализировать и обрабатывать в промежутках между запросами. Вообще конечно самым удобным способом была бы возможность использования рекордсета (ADO) как временной таблицы, но к сожалению ADO такой возможности не предоставляет и это уже никак не исправить. Поэтому приходится совершать кучу манипуляций по отбору данных сначала во временную таблицу, потом загружать её в рекордсет, потом снова выгружать и т.п. ADO.net В этом плане конечно куда более продвинутый. Жаль, что ADO забросили в угоду .net.
Бороться и искать, найти и перепрятать

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 08.11.2014 (Сб) 23:12

ger_kar писал(а):Тут же интерес в том, что-бы такую временную таблицу можно было напрямую в коде анализировать и обрабатывать в промежутках между запросами.

И так можно, как минимум в мускуле. Главное - сессию БД не рвать. Временная таблица живёт, пока живёт сессия.
label:
cli
jmp label

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: In-Memory SQL базы данных

Сообщение ger_kar » 09.11.2014 (Вс) 5:50

А для связки ADODB и MySQL есть нормальный OLEDB провайдер? Вот например СУБД FireBird сама по себе вполне так ничего, но вот провайдер оставляет желать лучшего.
Бороться и искать, найти и перепрятать

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: In-Memory SQL базы данных

Сообщение iGrok » 10.11.2014 (Пн) 0:23

ger_kar писал(а):А для связки ADODB и MySQL есть нормальный OLEDB провайдер? Вот например СУБД FireBird сама по себе вполне так ничего, но вот провайдер оставляет желать лучшего.

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

Кстати, временные таблицы есть в SQLite (мало ли). А вот в SQL Server Compact, вроде как, нету.
label:
cli
jmp label

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 30

    TopList