مجموعتين من الجداول متطابقة مع ينضم باستخدام الفهارس في الخلية. واحد يتطلب تفحص جدول كامل

StackOverflow https://stackoverflow.com/questions/2262458

  •  20-09-2019
  •  | 
  •  

سؤال

وايم الحصول على الخلط جدا مع الفهارس في الخلية.

ولدي جدولين: TableA1 وTableA2

وأنا خلقت الفهارس على هذه لينضم بينهما والاستفسارات تشغيل سريع حقا.

ولقد 2 الجداول أخرى مع الإعداد متطابقة على سبيل المثال TableB1 وTableB2. الفرق الوحيد هو أن هذه الجداول لديها عدد قليل من قيم فارغة.

لسبب نفس الاستعلام على TableA حوالي 5 مرات أسرع ولا تحتاج إلى تفحص الجدول الكامل. لكن TableB يبدو أن استخدام مسح جدول كامل وأنا لا يمكن العمل بها لماذا. يمكن أن يكون القيم الخالية التي تسبب هذا؟

ولقد لاحظت استخدام شرح أنه في الإعداد TableA، وأحصل على possible keys: myindex وأيضا ref: func. ولكن على الإعداد TableB أحصل possible keys: NULL عادل وref: NULL.

ولقد بحثت في جميع أنحاء لفترة طويلة على هذا، ويستطيع لا يبدو أن تجد إجابة ذات الصلة. سأكون ممتنا إذا كان شخص ما يمكن لي نقطة في الاتجاه الصحيح.

و(عذرا، وأضاف الآن إلى السؤال الأصلي).

وهنا TableAOne:

CREATE TABLE `TableAOne` (
  `field1` varchar(255) DEFAULT NULL,
  `field2` varchar(255) DEFAULT NULL,
  KEY `myindex` (`field1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

وTableATwo:

CREATE TABLE `TableATwo` (
  `Field3` varchar(255) ,
  `Field4` varchar(255) ,
  `Field5` varchar(255) ,
  `id` int(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=15522 DEFAULT CHARSET=utf8;

وأنا الانضمام Field3 مع Field1.

والجداول التي تحصل على مسح جدول كامل متطابقة إلى الجداول أعلاه. وتسمى الفرق الوحيد الذي TableB بدلا من TableA.

وابتهاج،
كه

هل كانت مفيدة؟

المحلول

وأنا فقط حذف الجدول وإعادة تركيبها لديسيبل (لم تغير UTF8 إلى LATIN1 ليس متأكدا مما اذا جعل هذا الفرق)، إلا أنه يعمل الآن، والغريب حقا! بفضل من الخامس من ذلك بكثير لجميع الردود دفعوا لي بالتأكيد نحو هتافات الجواب:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top