Merge branch 'main' of https://gitlab2.istic.univ-rennes1.fr/tuvu/m1_bdd_comparaison_perf
This commit is contained in:
35
main.py
35
main.py
@@ -28,22 +28,13 @@ requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10"""
|
|||||||
|
|
||||||
|
|
||||||
def display_table(data, headers):
|
def display_table(data, headers):
|
||||||
# Calculate the maximum length for each column based on headers and data
|
|
||||||
column_lengths = [len(header) for header in headers]
|
column_lengths = [len(header) for header in headers]
|
||||||
for row in data:
|
for row in data:
|
||||||
for idx, cell in enumerate(row):
|
for idx, cell in enumerate(row):
|
||||||
column_lengths[idx] = max(column_lengths[idx], len(str(cell))) # Convert cell to string
|
column_lengths[idx] = max(column_lengths[idx], len(str(cell)))
|
||||||
|
|
||||||
# Create format string for each row
|
|
||||||
row_format = " | ".join(["{{:<{}}}".format(length) for length in column_lengths])
|
row_format = " | ".join(["{{:<{}}}".format(length) for length in column_lengths])
|
||||||
|
|
||||||
# Print headers
|
|
||||||
print(row_format.format(*headers))
|
print(row_format.format(*headers))
|
||||||
|
|
||||||
# Print separator
|
|
||||||
print("-|-".join(['-' * length for length in column_lengths]))
|
print("-|-".join(['-' * length for length in column_lengths]))
|
||||||
|
|
||||||
# Print each data row
|
|
||||||
for row in data:
|
for row in data:
|
||||||
print(row_format.format(*[str(cell) for cell in row])) # Ensure cells are strings
|
print(row_format.format(*[str(cell) for cell in row])) # Ensure cells are strings
|
||||||
|
|
||||||
@@ -74,7 +65,7 @@ def execForMonetDB(n, tabReq):
|
|||||||
for i in range(n) :
|
for i in range(n) :
|
||||||
for j in range(len(tabReq)) :
|
for j in range(len(tabReq)) :
|
||||||
t[j]+=execMonetDB(tabReq[j])
|
t[j]+=execMonetDB(tabReq[j])
|
||||||
|
|
||||||
for j in range(len(tabReq)):
|
for j in range(len(tabReq)):
|
||||||
t[j] = t[j]/n
|
t[j] = t[j]/n
|
||||||
print("[MonetDB] requete (moyenne de",n,") :", tabReq[j] , "\n time = ", t[j], "s\n")
|
print("[MonetDB] requete (moyenne de",n,") :", tabReq[j] , "\n time = ", t[j], "s\n")
|
||||||
@@ -95,11 +86,27 @@ def initPostgreSQL():
|
|||||||
|
|
||||||
def execPostgreSQL(str):
|
def execPostgreSQL(str):
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
requete_postgres(str)
|
requete_monetdb(str)
|
||||||
end_time = time.time()
|
end_time = time.time()
|
||||||
print("[PostgreSQL] requete :", str, "\n time = ", (end_time - start_time), "s")
|
return end_time-start_time
|
||||||
return end_time - start_time
|
|
||||||
|
|
||||||
|
def runPostgreSQL():
|
||||||
|
execForMonetDB(5,[requeteSelect1PostgreSQL])
|
||||||
|
execForMonetDB(5,[requeteSelect2PostgreSQL])
|
||||||
|
execForMonetDB(5,[requeteSelect3PostgreSQL])
|
||||||
|
execForMonetDB(5,[requeteSelect4PostgreSQL])
|
||||||
|
execForMonetDB(5,[requeteDropflight10PostgreSQL,requeteCreateTablePostgreSQL,requeteDeletePostgreSQL,requeteInsertPostgreSQL])
|
||||||
|
|
||||||
|
# execute n fois les n requêtes
|
||||||
|
def execForPostgreSQL(n, tabReq):
|
||||||
|
t = [0] * len(tabReq)
|
||||||
|
for i in range(n):
|
||||||
|
for j in range(len(tabReq)):
|
||||||
|
t[j] += execPostgreSQL(tabReq[j])
|
||||||
|
|
||||||
|
for j in range(len(tabReq)):
|
||||||
|
t[j] = t[j] / n
|
||||||
|
print("[PostgreSQL] requete (moyenne de", n, ") :", tabReq[j], "\n time = ", t[j], "s\n")
|
||||||
|
|
||||||
def runPostgreSQL():
|
def runPostgreSQL():
|
||||||
data.append([requeteSelect1PostgreSQL,execPostgreSQL(requeteSelect1PostgreSQL)])
|
data.append([requeteSelect1PostgreSQL,execPostgreSQL(requeteSelect1PostgreSQL)])
|
||||||
|
|||||||
Reference in New Issue
Block a user