لدي جدول بيانات مؤلف من حوالي مليون كلمة.
الجدول أستعمله عندما يقوم الزائر بالبحث عن كلمة ما، فتظهر الإحتمالات تحت الكلمة تماما مثل google autosuggest يعني يكتب الزائر كلمة نانــ تطلع بالإحتمالات نانسي عجرم.
المشكلة أن السكريبت بطيء قليلأ، وألاحظ أن سرعة غوغل في وضع الإحتمالات سريع جداً.
سؤالي، ما هي أفضل طريقة تحفيظ بيانات في المايسكل لهكذا جدول، يعني لو حفظت كل كلمة في عامود مخصص لأول حرف بالكلمة أفضل؟ أم أضع جميع الكلمات في عامود واحد.
حالياً أستعمل هذا الشكل للإستعلام
mysql_query(" SELECT `word` FROM `suggest` WHERE `word` LIKE '$word%' ORDER BY `repeat` DESC LIMIT 0 , 10 ", $con);
الجدول :
CREATE TABLE `suggest` (
`id` int(7) NOT NULL auto_increment,
`word` varchar(60) collate utf8_unicode_ci NOT NULL,
`repeat` smallint(5) NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `word` (`word`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=104093 ;