Mysql – внутреннее соединение не использует индексJquery

Программирование на jquery
Ответить
Anonymous
 Mysql – внутреннее соединение не использует индекс

Сообщение Anonymous »

У меня немного сложный запрос. У меня здесь объединено несколько таблиц. И каждая таблица прошла индексацию. Но когда я запускаю запрос объяснения, он показывает, что TenderTransactions TT не индексируется, знаете ли вы какую-либо причину.

Код: Выделить всё

select   RTI.Base_Currency_Id as BASE_CURRENCY_ID,
RTI.Location_Id as LOCATION_ID,
TT.Acquirer_Id as ACQUIRER_ID,
TT.Acquirer_Group_Id as ACQUIRER_GROUP_ID,
TT.Acquirer_Group_Hierarchy_Id as ACQUIRER_GROUP_HIERARCHY_ID,
A.Description as ACQUIRER_DESCRIPTION,
RTI.Terminal_Number as TERMINAL_NUMBER,
RTI.Transaction_Number as TRANSACTION_NUMBER,
RTI.Completed_Date_Time as COMPLETED_DATE_TIME,
TT.Customer_Id as CUSTOMER_ID,
TT.Customer_Surname as CUSTOMER_SURNAME,
TT.Card_Entry_Method as CARD_ENTRY_METHOD,
-TT.Base_Value as BASE_VALUE,
TT.Currency_Id as FOREIGN_CURRENCY_ID,
-TT.Value as FOREIGN_VALUE,
TT.Card_Number as CARD_NUMBER,
TT.Card_Number_Hashed as CARD_NUMBER_HASHED,
TT.Card_Number_Mangled as CARD_NUMBER_MANGLED,
TT.Encrypted_Data as ENCRYPTED_DATA,
TT.Key_Id as KEY_ID,
CT.Description as CARD_TYPE_DESCRIPTION,
TT.Merchant_Id as MERCHANT_ID
from 2_7_rc1_em.TenderTransactions TT
INNER JOIN 2_7_rc1_em.RetailTransactionIds RTI ON TT.Transaction_Key = RTI.Transaction_Key
inner join  (  select COUNT(*) as CARD_COUNT,
TTIn.Card_Number as CARD_NUMBER,
TTIn.Card_Number_Hashed as CARD_NUMBER_HASHED  from 2_7_rc1_em.TenderTransactions TTIn
inner join 2_7_rc1_em.RetailTransactionIds RTIIn on TTIn.Transaction_Key = RTIIn.Transaction_Key  where ('' = '' or RTIIn.Region_Group_Id = '')
and ('' = '' or RTIIn.Region_Group_Hierarchy_Id = '')
and ('' = '' or RTIIn.Location_Id = '')
and ('' = '' or RTIIn.Device_Id = '')
and ('' = '' or TTIn.Acquirer_Id = '')
and ('' = '' or TTIn.Acquirer_Group_Id = '')
and ('' = '' or TTIn.Acquirer_Group_Hierarchy_Id = '')
and ('' = '' or TTIn.User_Id = '')
and ('' = '' or TTIn.Customer_Id = '')
and ('' = '' or TTIn.Card_Entry_Method = '')
and ((TTIn.Card_Number != '' and TTIn.Card_Number != '-') or (TTIn.Card_Number_Hashed != '' and TTIn.Card_Number_Hashed != '-') or (TTIn.Card_Number_Mangled != '' and TTIn.Card_Number_Mangled != '-'))
and (('' = '' or TTIn.Card_Number = '') or ('' = '' or TTIn.Card_Number_Hashed = ''))
and (0 = 0 or TTIn.Base_Value >= 0)
and (0 = 0 or TTIn.Base_Value = 0)
and (0 = 0 or RTIIn.Transaction_Number  0))
and (RTIIn.Completed_Date_Time >= '2023-10-30 00:00:00')
and (RTIIn.Completed_Date_Time = 0)
and (0 = 0 or ABS(TT.Base_Value) >= 0)
and (0 = 0 or ABS(TT.Base_Value) = 0)
and (0 = 0 or RTI.Transaction_Number   0))
and (RTI.Completed_Date_Time >= '2023-10-30 00:00:00')
and (RTI.Completed_Date_Time 

Подробнее здесь: [url]https://stackoverflow.com/questions/79147925/mysql-inner-join-does-not-use-index[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»