morteza_naderloo
شنبه 14 شهریور 1394, 13:15 عصر
با سلام
یک جدول دارم 45000 تا رکورد داره
مشکلی که دارم اینه که وقتی میخوام جستجو توی این جدول انجام بده خیلی زمان میگیر زمان متوسط بین 11 تا 23 ثانیه زمان میگیره
آیا راهی هست که بشه این زمان رو کم کرد ؟ ( با تغییر در کوئری یا mysql یا php)
این کوئری بنده است
SELECT id,before_topic,topic,summary FROM news WHERE status=1 && (topic LIKE %$this%' || summary LIKE '%$this%') OREDR BY publish_date DESC LIMIT 0,18
مشخصات سرورم
Processor Name
Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz
Vendor ID
GenuineIntel
Processor Speed (MHz)
2801.000
رم 24 گیگ
ساختار جدول
CREATE TABLE IF NOT EXISTS `news_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`language` int(11) NOT NULL,
`position_in_first_page` int(2) NOT NULL,
`position_in_first_page_number` int(11) NOT NULL,
`topic_color` int(2) NOT NULL,
`before_topic` varchar(300) COLLATE utf8_persian_ci NOT NULL,
`topic` varchar(300) COLLATE utf8_persian_ci NOT NULL,
`summary` varchar(1000) COLLATE utf8_persian_ci NOT NULL,
`content` longtext COLLATE utf8_persian_ci NOT NULL,
`publisher` int(3) NOT NULL,
`editor` int(3) NOT NULL,
`publish_date` int(11) NOT NULL,
`edit_date` int(11) NOT NULL,
`tags` text COLLATE utf8_persian_ci NOT NULL,
`source_name` varchar(200) COLLATE utf8_persian_ci NOT NULL,
`source_url` varchar(600) COLLATE utf8_persian_ci NOT NULL,
`rating_positive` int(11) NOT NULL,
`rating_negative` int(11) NOT NULL,
`tariff` int(11) NOT NULL,
`visit` int(11) NOT NULL,
`status` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=45300;
این تاپیک ها را هم بررسی کردم اما نتیجه ای نداشت
http://barnamenevis.org/showthread.php?87165-%DB%8C%DA%A9-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D9%88-%DB%8C%DA%A9-%D8%AC%D8%AF%D9%88%D9%84-%D9%88-Master-Details&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7
http://barnamenevis.org/showthread.php?473211-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%BE%D8%B1%D8%AA%D8%B1%D8%AF%D8%AF-%D8%A8%D8%A7-%D8%AA%D8%B1%D8%A7%D9%81%DB%8C%DA%A9-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%A8%D8%A7%D9%84%D8%A7-%D8%A8%D8%A7-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%D9%87%D8%A7%DB%8C-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B2%DB%8C%D8%A7%D8%AF&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7
http://barnamenevis.org/showthread.php?304545-%DA%A9%D8%B3%DB%8C-%D8%AA%D8%A7-%D8%AD%D8%A7%D9%84%D8%A7-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%DB%8C%D9%87-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D8%B1%D9%88%DB%8C-%D8%AC%D8%AF%D9%88%D9%84%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%D9%84%D8%A7%DB%8C-1-%D9%85%DB%8C%D9%84%DB%8C%D9%88%D9%86-%D8%B1%D8%AF%DB%8C%D9%81-%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%D9%87-%D8%B1%D9%88-%D8%AA%D8%B3%D8%AA-%DA%A9%D8%B1%D8%AF%D9%87%D8%9F&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7
یک جدول دارم 45000 تا رکورد داره
مشکلی که دارم اینه که وقتی میخوام جستجو توی این جدول انجام بده خیلی زمان میگیر زمان متوسط بین 11 تا 23 ثانیه زمان میگیره
آیا راهی هست که بشه این زمان رو کم کرد ؟ ( با تغییر در کوئری یا mysql یا php)
این کوئری بنده است
SELECT id,before_topic,topic,summary FROM news WHERE status=1 && (topic LIKE %$this%' || summary LIKE '%$this%') OREDR BY publish_date DESC LIMIT 0,18
مشخصات سرورم
Processor Name
Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz
Vendor ID
GenuineIntel
Processor Speed (MHz)
2801.000
رم 24 گیگ
ساختار جدول
CREATE TABLE IF NOT EXISTS `news_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`language` int(11) NOT NULL,
`position_in_first_page` int(2) NOT NULL,
`position_in_first_page_number` int(11) NOT NULL,
`topic_color` int(2) NOT NULL,
`before_topic` varchar(300) COLLATE utf8_persian_ci NOT NULL,
`topic` varchar(300) COLLATE utf8_persian_ci NOT NULL,
`summary` varchar(1000) COLLATE utf8_persian_ci NOT NULL,
`content` longtext COLLATE utf8_persian_ci NOT NULL,
`publisher` int(3) NOT NULL,
`editor` int(3) NOT NULL,
`publish_date` int(11) NOT NULL,
`edit_date` int(11) NOT NULL,
`tags` text COLLATE utf8_persian_ci NOT NULL,
`source_name` varchar(200) COLLATE utf8_persian_ci NOT NULL,
`source_url` varchar(600) COLLATE utf8_persian_ci NOT NULL,
`rating_positive` int(11) NOT NULL,
`rating_negative` int(11) NOT NULL,
`tariff` int(11) NOT NULL,
`visit` int(11) NOT NULL,
`status` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=45300;
این تاپیک ها را هم بررسی کردم اما نتیجه ای نداشت
http://barnamenevis.org/showthread.php?87165-%DB%8C%DA%A9-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D9%88-%DB%8C%DA%A9-%D8%AC%D8%AF%D9%88%D9%84-%D9%88-Master-Details&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7
http://barnamenevis.org/showthread.php?473211-%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%BE%D8%B1%D8%AA%D8%B1%D8%AF%D8%AF-%D8%A8%D8%A7-%D8%AA%D8%B1%D8%A7%D9%81%DB%8C%DA%A9-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%A8%D8%A7%D9%84%D8%A7-%D8%A8%D8%A7-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%D9%87%D8%A7%DB%8C-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B2%DB%8C%D8%A7%D8%AF&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7
http://barnamenevis.org/showthread.php?304545-%DA%A9%D8%B3%DB%8C-%D8%AA%D8%A7-%D8%AD%D8%A7%D9%84%D8%A7-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%DB%8C%D9%87-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D8%B1%D9%88%DB%8C-%D8%AC%D8%AF%D9%88%D9%84%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7%D9%84%D8%A7%DB%8C-1-%D9%85%DB%8C%D9%84%DB%8C%D9%88%D9%86-%D8%B1%D8%AF%DB%8C%D9%81-%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%D9%87-%D8%B1%D9%88-%D8%AA%D8%B3%D8%AA-%DA%A9%D8%B1%D8%AF%D9%87%D8%9F&highlight=%DA%A9%D9%88%D8%A6%D8%B1%DB%8C+%D8%A8%D8 %A7+%D8%AA%D8%B9%D8%AF%D8%A7+%D8%A8%D8%A7%D9%84%D8 %A7