[comptage_upload] Amélioration de la requête SQL
This commit is contained in:
parent
aa63141c63
commit
852dc63e84
1 changed files with 43 additions and 16 deletions
|
@ -30,6 +30,15 @@ def get_stats(args):
|
||||||
pgsql.set_session(autocommit=True)
|
pgsql.set_session(autocommit=True)
|
||||||
curseur = pgsql.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
curseur = pgsql.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
||||||
ip_requete = """
|
ip_requete = """
|
||||||
|
WITH
|
||||||
|
machines_sans_doublon
|
||||||
|
AS
|
||||||
|
(
|
||||||
|
SELECT DISTINCT ON(mac_addr)
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
machines
|
||||||
|
)
|
||||||
SELECT
|
SELECT
|
||||||
SUM(upload) as tot_upload,
|
SUM(upload) as tot_upload,
|
||||||
SUM(download) as tot_download,
|
SUM(download) as tot_download,
|
||||||
|
@ -51,9 +60,9 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_src
|
machines_sans_doublon.mac_addr = upload.mac_src
|
||||||
WHERE
|
WHERE
|
||||||
ip_src=%(pg_value)s
|
ip_src=%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
@ -88,9 +97,9 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_dst
|
machines_sans_doublon.mac_addr = upload.mac_dst
|
||||||
WHERE
|
WHERE
|
||||||
ip_dst=%(pg_value)s
|
ip_dst=%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
@ -123,6 +132,15 @@ GROUP BY
|
||||||
port_ext
|
port_ext
|
||||||
"""
|
"""
|
||||||
mac_requete = """
|
mac_requete = """
|
||||||
|
WITH
|
||||||
|
machines_sans_doublon
|
||||||
|
AS
|
||||||
|
(
|
||||||
|
SELECT DISTINCT ON(mac_addr)
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
machines
|
||||||
|
)
|
||||||
SELECT
|
SELECT
|
||||||
SUM(upload) as tot_upload,
|
SUM(upload) as tot_upload,
|
||||||
SUM(download) as tot_download,
|
SUM(download) as tot_download,
|
||||||
|
@ -144,9 +162,9 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_src
|
machines_sans_doublon.mac_addr = upload.mac_src
|
||||||
WHERE
|
WHERE
|
||||||
mac_src=macaddr%(pg_value)s
|
mac_src=macaddr%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
@ -183,9 +201,9 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_dst
|
machines_sans_doublon.mac_addr = upload.mac_dst
|
||||||
WHERE
|
WHERE
|
||||||
mac_dst=macaddr%(pg_value)s
|
mac_dst=macaddr%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
@ -220,6 +238,15 @@ GROUP BY
|
||||||
port_ext
|
port_ext
|
||||||
"""
|
"""
|
||||||
adh_requete = """
|
adh_requete = """
|
||||||
|
WITH
|
||||||
|
machines_sans_doublon
|
||||||
|
AS
|
||||||
|
(
|
||||||
|
SELECT DISTINCT ON(mac_addr)
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
machines
|
||||||
|
)
|
||||||
SELECT
|
SELECT
|
||||||
SUM(upload) as tot_upload,
|
SUM(upload) as tot_upload,
|
||||||
SUM(download) as tot_download,
|
SUM(download) as tot_download,
|
||||||
|
@ -241,13 +268,13 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_src
|
machines_sans_doublon.mac_addr = upload.mac_src
|
||||||
WHERE
|
WHERE
|
||||||
machines.type=%(pg_filter)s
|
machines_sans_doublon.type=%(pg_filter)s
|
||||||
AND
|
AND
|
||||||
machines.id=%(pg_value)s
|
machines_sans_doublon.id=%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
ip_src <<= inet%(ipv6_local)s
|
ip_src <<= inet%(ipv6_local)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
@ -282,13 +309,13 @@ FROM (
|
||||||
FROM
|
FROM
|
||||||
upload
|
upload
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
machines
|
machines_sans_doublon
|
||||||
ON
|
ON
|
||||||
machines.mac_addr = upload.mac_dst
|
machines_sans_doublon.mac_addr = upload.mac_dst
|
||||||
WHERE
|
WHERE
|
||||||
machines.type=%(pg_filter)s
|
machines_sans_doublon.type=%(pg_filter)s
|
||||||
AND
|
AND
|
||||||
machines.id=%(pg_value)s
|
machines_sans_doublon.id=%(pg_value)s
|
||||||
AND NOT
|
AND NOT
|
||||||
ip_src <<= inet%(ipv6_local)s
|
ip_src <<= inet%(ipv6_local)s
|
||||||
AND NOT
|
AND NOT
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue