Skip to content

Commit

Permalink
use count(*) instead of count(id) since it's slightly faster
Browse files Browse the repository at this point in the history
  • Loading branch information
poeti8 committed Jan 18, 2025
1 parent de10342 commit 876d12f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions server/queries/domain.queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ async function getAdmin(match, params) {
}

query.leftJoin(
knex("links").select("domain_id").count("id as links_count").groupBy("domain_id").as("l"),
knex("links").select("domain_id").count("* as links_count").groupBy("domain_id").as("l"),
"domains.id",
"l.domain_id"
);
Expand Down Expand Up @@ -195,15 +195,15 @@ async function totalAdmin(match, params) {

if (params?.links !== undefined) {
query.leftJoin(
knex("links").select("domain_id").count("id as links_count").groupBy("domain_id").as("l"),
knex("links").select("domain_id").count("* as links_count").groupBy("domain_id").as("l"),
"domains.id",
"l.domain_id"
);
query.andWhere("links_count", params?.links ? "is not" : "is", null);
}

query.leftJoin("users", "domains.user_id", "users.id");
query.count("domains.id as count");
query.count("* as count");

const [{ count }] = await query;

Expand Down
4 changes: 2 additions & 2 deletions server/queries/link.queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ async function total(match, params) {
);
}
query.leftJoin("domains", "links.domain_id", "domains.id");
query.count("links.id as count");
query.count("* as count");

const [{ count }] = await query;

Expand Down Expand Up @@ -106,7 +106,7 @@ async function totalAdmin(match, params) {

query.leftJoin("domains", "links.domain_id", "domains.id");
query.leftJoin("users", "links.user_id", "users.id");
query.count("links.id as count");
query.count("* as count");

const [{ count }] = await query;

Expand Down
8 changes: 4 additions & 4 deletions server/queries/user.queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ async function getAdmin(match, params) {
"d.user_id"
)
query.leftJoin(
knex("links").select("user_id").count("id as links_count").groupBy("user_id").as("l"),
knex("links").select("user_id").count("* as links_count").groupBy("user_id").as("l"),
"users.id",
"l.user_id"
);
Expand All @@ -179,7 +179,7 @@ async function getAdmin(match, params) {

async function totalAdmin(match, params) {
const query = knex("users")
.count("users.id as count")
.count("* as count")
.fromRaw('users')
.where(normalizeMatch(match));

Expand Down Expand Up @@ -209,13 +209,13 @@ async function totalAdmin(match, params) {
if (params?.links !== undefined) {
query.andWhere("links", params?.links ? "is not" : "is", null);
query.leftJoin(
knex("links").select("user_id").count("id as links").groupBy("user_id").as("l"),
knex("links").select("user_id").count("* as links").groupBy("user_id").as("l"),
"users.id",
"l.user_id"
);
}

const [{count}] = await query;
const [{ count }] = await query;

return typeof count === "number" ? count : parseInt(count);
}
Expand Down

0 comments on commit 876d12f

Please sign in to comment.