Ekklipce
Новичок
120000 записей, база дохнет, SOS
120000 записей, н алокалке под винду, боюсь р хостинрге дае думать, база просто дохнет..
структура самых тяжелых таблиц, в остальных почти пусто по сравнению с этими двумя
и запрос..есть подозрения что можно сделать лучше или оптимизированние.. только как..
запрос логически подстроен под потребности выборки т дальнейшей обработки данных
120000 записей, н алокалке под винду, боюсь р хостинрге дае думать, база просто дохнет..
структура самых тяжелых таблиц, в остальных почти пусто по сравнению с этими двумя
PHP:
CREATE TABLE `element` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
`producer` varchar(150) NOT NULL default '0',
`cat` int(11) default NULL,
`params` mediumtext NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Электронные элементы' AUTO_INCREMENT=34424 ;
-- --------------------------------------------------------
--
-- Структура таблицы `offer`
--
CREATE TABLE `offer` (
`id` int(10) unsigned NOT NULL auto_increment,
`element` int(11) NOT NULL default '0',
`min_count` varchar(5) NOT NULL default '',
`store_count` varchar(5) NOT NULL default '',
`supplier` int(11) NOT NULL default '0',
`period` varchar(100) NOT NULL default '',
`price` varchar(10) NOT NULL default '',
`name` varchar(150) default NULL,
`producer` varchar(150) default NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`,`period`,`price`,`name`,`producer`)
) TYPE=MyISAM COMMENT='Привязка' AUTO_INCREMENT=120000 ;
запрос логически подстроен под потребности выборки т дальнейшей обработки данных
PHP:
SELECT IF (
ISNULL(offer.id), CONCAT( 'e', element.id ) , offer.id) AS id,
IF (LENGTH( offer.name ) >0, offer.name, element.name) AS name,
IF (ISNULL(offer.producer), element.producer, offer.producer) AS producer,
element.params AS params, offer.price AS price, supplier.min_offer AS min_offer, offer.store_count AS store, offer.period AS period, offer.min_count AS min_package
FROM element, cat
LEFT JOIN offer ON ( element.id = offer.element )
LEFT JOIN supplier ON ( supplier.id = offer.supplier )
WHERE element.cat = cat.id
ORDER BY producer, name ASC
LIMIT 0 , 50