execForMonetDB

This commit is contained in:
trochas
2024-12-11 12:19:34 +01:00

68
main.py
View File

@@ -2,6 +2,8 @@ from MonetDB import *
from PostgreSQL import * from PostgreSQL import *
import time import time
data =[]
header=["Nom de requete","Temps"]
#Monet DB #Monet DB
requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';""" requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';"""
requeteSelect2MonetDB = """SELECT * FROM flights;""" requeteSelect2MonetDB = """SELECT * FROM flights;"""
@@ -15,22 +17,35 @@ requeteDropflight10MonetDB = """DROP TABLE flights10;"""
#Postgre SQL #Postgre SQL
requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE airline = 'AA'""" requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE "AIRLINE" = 'AA'"""
requeteSelect2PostgreSQL = """SELECT * FROM public.flights""" requeteSelect2PostgreSQL = """SELECT * FROM public.flights"""
requeteSelect3PostgreSQL = """SELECT * FROM public.flight WHERE "DAY" > 10""" requeteSelect3PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 10"""
requeteSelect4PostgreSQL = """SELECT * FROM public.flight WHERE "DAY" > 30""" requeteSelect4PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 30"""
requeteCreateTablePostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10""" requeteCreateTablePostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10"""
requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10""" requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10"""
requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10""" requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10"""
def display_table(data, headers): def display_table(data, headers):
max_len = max(len(header) for header in headers) # Calculate the maximum length for each column based on headers and data
print(" | ".join(header.ljust(max_len) for header in headers)) column_lengths = [len(header) for header in headers]
sep = "-" * max_len for row in data:
print("-|-".join(sep for _ in headers)) for idx, cell in enumerate(row):
for row in data: column_lengths[idx] = max(column_lengths[idx], len(str(cell))) # Convert cell to string
print(" | ".join(header.ljust(max_len) for header in row))
# Create format string for each row
row_format = " | ".join(["{{:<{}}}".format(length) for length in column_lengths])
# Print headers
print(row_format.format(*headers))
# Print separator
print("-|-".join(['-' * length for length in column_lengths]))
# Print each data row
for row in data:
print(row_format.format(*[str(cell) for cell in row])) # Ensure cells are strings
def initMonetDB(): def initMonetDB():
reset_data_monetdb() reset_data_monetdb()
@@ -57,6 +72,7 @@ def runMonetDB():
execForMonetDB(5,[requeteSelect4MonetDB]) execForMonetDB(5,[requeteSelect4MonetDB])
execForMonetDB(5,[requeteDropflight10MonetDB,requeteCreateTableMonetDB,requeteDeleteMonetDB,requeteInsertPostgreSQL]) execForMonetDB(5,[requeteDropflight10MonetDB,requeteCreateTableMonetDB,requeteDeleteMonetDB,requeteInsertPostgreSQL])
#execute n fois les n requêtes #execute n fois les n requêtes
def execForMonetDB(n, tabReq): def execForMonetDB(n, tabReq):
t = [0] * len(tabReq) t = [0] * len(tabReq)
@@ -70,13 +86,37 @@ def execForMonetDB(n, tabReq):
def runPostgreSQL(): def initPostgreSQL():
reset_database_postgres() reset_database_postgres()
start_time = time.time()
create_tables_postgres() create_tables_postgres()
end_time = time.time()
print("[PostgreSQL] create table: time = ", (end_time - start_time), "s")
start_time = time.time()
create_data_postgres() create_data_postgres()
#requete_postgres(str) end_time = time.time()
print("[PostgreSQL] load data : time = ", (end_time - start_time), "s")
def execPostgreSQL(str):
start_time = time.time()
requete_postgres(str)
end_time = time.time()
print("[PostgreSQL] requete :", str, "\n time = ", (end_time - start_time), "s")
return end_time - start_time
def runPostgreSQL():
data.append([requeteSelect1PostgreSQL,execPostgreSQL(requeteSelect1PostgreSQL)])
data.append([requeteSelect2PostgreSQL,execPostgreSQL(requeteSelect2PostgreSQL)])
data.append([requeteSelect3PostgreSQL,execPostgreSQL(requeteSelect3PostgreSQL)])
data.append([requeteSelect4PostgreSQL,execPostgreSQL(requeteSelect4PostgreSQL)])
if __name__ == '__main__': if __name__ == '__main__':
initMonetDB() #initMonetDB()
runMonetDB() #runMonetDB()
#runPostgreSQL() #initPostgreSQL()
runPostgreSQL()
display_table(data, header)