Russian Qt Forum
Ноябрь 23, 2024, 07:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с памятью  (Прочитано 3709 раз)
crocus
Гость
« : Июль 03, 2006, 09:37 »

Вопрос  уже задавался, но так и повис в воздухе.
Допустим есть  приложение "телефонный справочник" ~2000000 записей, выбираем все номера содержащие ноль(0), при выполнении расход около 150 MB в результате приложение (в памяти) значительно опухло-  ну и так далее- десять подобных запросов и в памяти гиг, как очистку(оптимизацию) делать??? Кто знает поделитесь!!!
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Июль 03, 2006, 11:28 »

как выбираешь?
откуда?
какая база?
Записан
crocus
Гость
« Ответ #2 : Июль 03, 2006, 12:31 »

База MySQL.
Запрос типа такого:
Код:

begin = ("CREATE TABLE `" + agency + "` ("
  "`agency_name` varchar(100) character set utf8 NOT NULL default 'New',"
  "`flats_date` date NOT NULL default '0000-00-00',"
  "`sale_name` varchar(15) character set utf8 default NULL,"
  "`region_name` varchar(21) character set utf8 NOT NULL default '-',"
  "`street_name` varchar(255) character set utf8 NOT NULL default '',"
  "`So` float NOT NULL default '1',"
  "`Height` float NOT NULL default '2.4',"
  "`flats_privacy` tinyint(1) NOT NULL default '0',"
  "`flats_price` int(7) NOT NULL default '0',"
  "`chance` tinyint(1) NOT NULL default '0',"
  "`build_equip` tinyint(1) NOT NULL default '0',"
  "`electro` tinyint(1) NOT NULL default '0',"
  "`water_cold` tinyint(1) NOT NULL default '0',"
  "`water_hot` tinyint(1) NOT NULL default '0',"
  "`water_drain` tinyint(1) NOT NULL default '0',"
  "`flats_cod` int(2) NOT NULL default '0',"
  "`type_s` varchar(21) default NULL,"
  "`flats_ex` tinyint(1) NOT NULL default '0',"
  "`agent_name` varchar(255) character set utf8 NOT NULL default 'New',"
  "`flats_confid` varchar(255) default NULL,"
  "`flats_pm2` float NOT NULL default '1',"
  "`flats_comments` varchar(255) default NULL"
") ENGINE=MyISAM DEFAULT CHARSET=utf8;");
modelQuery->setQuery( begin );
begin = ( "INSERT INTO " + agency + "(agency_name, flats_date, sale_name, region_name, street_name, "
"So, Height, flats_privacy, flats_price, chance, build_equip, electro, water_cold, water_hot, water_drain, flats_cod, "
"type_s, flats_ex, agent_name, flats_confid, flats_pm2, flats_comments) SELECT g.agency_name, "
"f.flats_date, k.sale_name, a.region_name, s.street_name, f.So, f.Height, flats_privacy, (f.flats_price + " + txtMarket + ")*" + txtCurss + ", "
"f.chance, f.build_equip, f.electro, f.water_cold, f.water_hot, f.water_drain, f.flats_cod, t.type_s, "
"f.flats_ex, n.agent_name, f.flats_confid, (f.flats_price/f.So)*" + txtCurss + ", f.flats_comments "
"FROM tbl_flats f, tbl_type t, tbl_sale k, tbl_region a, tbl_street s, tbl_agency g, tbl_agent n "
+ tblregion + tblstreet + tblagenci + tbltype +
" WHERE f.type_cod = t.type_cod AND f.sale_cod = k.sale_cod AND f.street_cod = s.street_cod "
"AND s.region_cod = a.region_cod AND f.agent_cod = n.agent_cod AND n.agency_cod = g.agency_cod"
+ agenci + type + region + street + So + schP + txtAnalis + txtPrivate + txtSale + txtChance +
txtElectro + txtWater + txtDrain + txtBuild + txtEx + txtNomore + txtOndate + txtAgent);
modelQuery->setQuery( begin );
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Июль 03, 2006, 18:23 »

вы нам insert да create прислали
а где select?

и еще обычно, надо глянуть зовется ли mysql_result_free после селекта
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.