ماهى حلول تسريع عمليات البحث فى Mysql مع البيانات الكبيرة

  • true

السلام عليكم

ماهى حلول تسريع عمليات البحث فى Mysql مع البيانات كبيرة

مثلآ هذا الأستعلام عندما أقوم بتنفيذوا وهو يتضمن like binary

SELECT

COUNT(DISTINCT `c`.`content_id`) AS `total` 

FROM content c LEFT JOIN users u ON c.user_id = u.user_id WHERE c.status = 1 AND u.status = 1 AND c.category_id IN (3,144,428,429,430,431,432,433,434,435,436,437,438) AND c.name like binary '%youtube%'

يتم تنفيذوا فى 0.400 Ms بالرغم ان حقل Name الذى يتم البحث فية من نوع FULLTEXT

واذا قمت بتنفيذ الاستعلام بدون Like Binay

SELECT COUNT(DISTINCT c.content_id) AS total FROM content c LEFT JOIN users u ON c.user_id = u.user_id WHERE c.status = 1 AND u.status = 1 AND c.category_id IN (3,144,428,429,430,431,432,433,434,435,436,437,438)

يتم تنفيذوا فى زمن 0.200 Ms أو اقل


الطريقة اﻻفضل في عملية البحث في قواعد البيانات الكبيرة هي عدم استخدام الدوال التي تأتي معها واستخدام مكتبات مثل Lucene او Solr ولكن اذا استصعب عليك اﻻمور عليك بتفعيل خاصية Full Text Search في قاعدة البيانات واستخدامها ﻻنها اسرع بكثير من دالة Like في التعامل مع البيانات الكبيرة

ألديك مثال لـ خاصية Full Text Search مع مدير قاعدة البيانات MySQL ؟