Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ускорение программы: сравнивание 4-х столов с пятым - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В VC++ параметр const (_variant_t & data) непонятно какой должен быть http://www.cyberforum.ru/cpp-beginners/thread463304.html
Господа помогите кто чем может :-) ITablePtr pTable есть ф-я pTable->SetPrivateData(long dataTag,const _variant_t & data) с первым параметром понятно.. но со вторым возникают проблемы.. в VB...
C++ Как сделать инсталяцию ODBC так, чтобы она напрягала клиента наименьшим образом? Я использую в приложении драйвера ODBC, чтобы сохранять и читать данные в/из различных форматах (Access, DBase, Excel). При инсталяцци данного продукта на машине клиента требуется прописать настройки... http://www.cyberforum.ru/cpp-beginners/thread463266.html
C++ ктонить знает как достучаться до винампа?
как писать плюгины итд? как управлять воспроизведением итд не используя иметации нажатия на кнопки... помогите плз...
C++ Как достать инфу из вордовского файла не запуская ворд?
мне нужно дастать инфу из DOC файла не запуская ворд... если у кого есть предложения - заранее благодарен)
C++ Есть ли у OpenGL свой формат 3d файла? http://www.cyberforum.ru/cpp-beginners/thread463247.html
Я хотел спросить есть у OpenGl свой формат 3d файла ? Нет ли у кого нибудь какого-нибудь примера, где трехмерный обьект загружается из файла формата например 3D MAX. ? С уважением Дмитрий
C++ Работа с видео и DirectShow Готовлюсь вот поработать с ним (тащу вампиром 140М DirectX SDK 8.0, так сложилось что нет 10грв. поискать CD, не говоря уж о книге :) DirectDraw должен быть в DirectX SDK 8.0, в седьмой версии его... подробнее

Показать сообщение отдельно
pwa
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 35
18.12.2007, 10:45
У меня естъ прoгрaмa кoтoрaя связaнa с SQL .Oнa делaет селект из 4 стoлoв и срaвнивaет с 5 стoлoм. Если в 5 стoле естъ тaкaя-же инфoрмaция кaк и в предудыщих 4 ,тo идет нa следющую стрoкы. Если нет тo удaляет вo всех четырех стoлaх. Oнa рaбoтaет oченъ медленнo, кaк ее ускoрит?


Eto moi linii coda v C++:
dbcmd (dbproc_get1, 'select * from prov ');
dbfcmd(dbproc_get1, 'where num = '%d' and id = '%s'', num, id);
dbsqlexec (dbproc_get1);
Y menya v table okolo 1500000 recordov.

Я не совсем понял детали постановки задачи, поэтому ограничусь общими рекомендациями.
0. Естественно, что перебрать 1.5млн записей 1.5млн раз не всякому ПК под силу.
1. Думаю, нужно подготовить SQL-оператор, который вибирает из всех пяти таблиц те комбинации, которые не удовлетворяют Вашим условиям, и выполнить по полученной информации требуемые действия.
Поясню на примере.
Имеем две таблицы - Tbl1(id, val) и Tbl1(id1, val1).
Необходимо обновить Tbl1.val1 по соответствующей инф-и из Tbl.
SELECT Tbl1.id1 FROM Tbl1,Tbl2 WHERE Tbl1.id=Tbl2.id1 and
Tbl1.val<>Tbl2.val1;
Этот оператор сообщит нам список id1, по которым нужно выполнить необходимые действия.
Естественно, можно переделать этот оператор так, что эти действия сразу и будут выполнены (не очень силен в синтаксисе SQL, м.б. и ошибусь):
UPDATE Tbl2 SET Tbl2.val=Tbl1.val WHERE Tbl1.id=Tbl2.id1 and
Tbl1.val<>Tbl2.val1;

Короче, идея - переложить какую-либо работу на плечи SQL, а не делать это в своей программе.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru