Dont use count(*) but rather count(column) so that indexes can help us
All checks were successful
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 42s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 1m51s
Create Docker Image / Final Docker Image Manifest (push) Successful in 11s

This commit is contained in:
2024-09-10 14:52:35 +10:00
parent 2d75c92afb
commit 832b496b0b
4 changed files with 18 additions and 15 deletions

View File

@@ -453,7 +453,7 @@ class Address extends Model
'node_id',
'point_id',
'system_id',
DB::raw('count(*) as uncollected_echomail'),
DB::raw('count(addresses.id) as uncollected_echomail'),
DB::raw('0 as uncollected_netmail'),
DB::raw('0 as uncollected_files'),
])
@@ -490,7 +490,7 @@ class Address extends Model
'system_id',
DB::raw('0 as uncollected_echomail'),
DB::raw('0 as uncollected_netmail'),
DB::raw('count(*) as uncollected_files')
DB::raw('count(addresses.id) as uncollected_files')
])
->UncollectedFiles();
}
@@ -528,7 +528,7 @@ class Address extends Model
'point_id',
'system_id',
DB::raw('0 as uncollected_echomail'),
DB::raw('count(*) as uncollected_netmail'),
DB::raw('count(addresses.id) as uncollected_netmail'),
DB::raw('0 as uncollected_files')
])
->UncollectedNetmail();

View File

@@ -110,7 +110,7 @@ class Domain extends Model
{
return Cache::remember(md5(sprintf('%d-%s',$this->id,$systems?->pluck('id')->join(','))),self::CACHE_TIME,function() use ($systems) {
return DB::query()
->select(['echoareas.name','echoareas.show',DB::raw('COUNT(*) AS count'),DB::raw('datetime::date AS date')])
->select(['echoareas.name','echoareas.show',DB::raw('COUNT(echoareas.name) AS count'),DB::raw('datetime::date AS date')])
->from($this->getTable())
->join('echoareas',['echoareas.domain_id'=>'domains.id'])
->join('echomails',['echomails.echoarea_id'=>'echoareas.id'])