Я некоторые запросы, которые принимают в течение 30mins казнить, я не эксперт базы данных, так что я действительно не знаю, что так вот, мне нужен кто-то, чтобы предложить лучший запрос для:Оптимизация MySQL отчетов Query
select count(*),substring(tdate,1,7)
from bills
where amt='30'
group by substring(tdate,1,7)
order by substring(tdate,1,7) desc
SELECT count(*)
FROM `bills`
where amt='30'
and date(tdate)=date('$date')
and stat='RENEW'
and x1 in (select `id` from sub);
здесь я передать значение даты $ в следующем формате 'Ymd 00:00:00'
select count(*),substring(tdate,1,7)
from bills
where amt='30'
group by substring(tdate,1,7)
order by substring(tdate,1,7) desc
Таблица структуры:
MariaDB [talksport]> desc bills;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| bid | int(11) | NO | PRI | NULL | auto_increment |
| num | varchar(500) | NO | | NULL | |
| stat | varchar(500) | NO | | NULL | |
| tdate | varchar(500) | NO | | NULL | |
| x1 | varchar(500) | NO | | NULL | |
| amt | varchar(500) | NO | | 30 | |
+-------+--------------+------+-----+---------+----------------+
Любая помощь приветствуется.
Майкл
Почему вы храните что-то под названием 'tdate' в строке? Аналогично для того, что называется 'amt'? –
, который является датой транзакции, датой и временем, в которые была вставлена запись в таблицу –
Вставить в счета (num, stat, tdate, x1, amt) значения ('1234', 'RENEW', now(), '080777' , '10mt' –