mirror of
https://github.com/sandronator/finetuning_aufgabe4.git
synced 2026-09-04 08:36:09 +02:00
Merge branch 'main' into claude/quizzical-haibt-fd6d93
This commit is contained in:
@@ -3,6 +3,8 @@ from baseStrategy import BaseStrategy
|
|||||||
|
|
||||||
class HashJoinStrategy(BaseStrategy):
|
class HashJoinStrategy(BaseStrategy):
|
||||||
def __init__(self, conn, db_name, all_queries):
|
def __init__(self, conn, db_name, all_queries):
|
||||||
|
self.BASENAME = "Hash Join "
|
||||||
|
|
||||||
super().__init__(conn, db_name, all_queries)
|
super().__init__(conn, db_name, all_queries)
|
||||||
|
|
||||||
def run(self, aufgabe: str | None = None):
|
def run(self, aufgabe: str | None = None):
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ if __name__ == '__main__':
|
|||||||
join_manager.setup_db("cl-both")
|
join_manager.setup_db("cl-both")
|
||||||
join_manager.execute(aufgabe="Aufgabe 1c")
|
join_manager.execute(aufgabe="Aufgabe 1c")
|
||||||
|
|
||||||
# Aufgabe 2 — vorheriger Lauf war 'cl-both' (CLUSTER hat Tabelle physisch sortiert);
|
# Aufgabe 2
|
||||||
# reload_data=True stellt die ursprüngliche Ladereihenfolge wieder her.
|
# reload_data=True stellt die ursprüngliche Ladereihenfolge wieder her.
|
||||||
join_manager.setStrategy(NestedInnerLoopStrategy(conn_postsql, db_post, queries_postgres["with_index"]))
|
join_manager.setStrategy(NestedInnerLoopStrategy(conn_postsql, db_post, queries_postgres["with_index"]))
|
||||||
join_manager.setup_db("nc-publ", reload_data=True)
|
join_manager.setup_db("nc-publ", reload_data=True)
|
||||||
@@ -34,7 +34,7 @@ if __name__ == '__main__':
|
|||||||
join_manager.setup_db("nc-both")
|
join_manager.setup_db("nc-both")
|
||||||
join_manager.execute(aufgabe="Aufgabe 2c")
|
join_manager.execute(aufgabe="Aufgabe 2c")
|
||||||
|
|
||||||
# Aufgabe 3 — Tabelle ist noch im Original-Layout, kein Reload nötig.
|
# Aufgabe 3
|
||||||
join_manager.setStrategy(SortMergeStrategy(conn_postsql, db_post, queries_postgres["no_index"]))
|
join_manager.setStrategy(SortMergeStrategy(conn_postsql, db_post, queries_postgres["no_index"]))
|
||||||
join_manager.setup_db("no-index")
|
join_manager.setup_db("no-index")
|
||||||
join_manager.execute(aufgabe="Aufgabe 3a")
|
join_manager.execute(aufgabe="Aufgabe 3a")
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ from baseStrategy import BaseStrategy
|
|||||||
|
|
||||||
class NestedInnerLoopStrategy(BaseStrategy):
|
class NestedInnerLoopStrategy(BaseStrategy):
|
||||||
def __init__(self, conn, db_name, all_queries):
|
def __init__(self, conn, db_name, all_queries):
|
||||||
|
self.BASENAME = "Nested Inner Loop "
|
||||||
super().__init__(conn, db_name, all_queries)
|
super().__init__(conn, db_name, all_queries)
|
||||||
|
|
||||||
def run(self, aufgabe: str | None = None):
|
def run(self, aufgabe: str | None = None):
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ from baseStrategy import BaseStrategy
|
|||||||
|
|
||||||
class SortMergeStrategy(BaseStrategy):
|
class SortMergeStrategy(BaseStrategy):
|
||||||
def __init__(self, conn, db_name, all_queries):
|
def __init__(self, conn, db_name, all_queries):
|
||||||
|
self.BASENAME = "Sort Merge "
|
||||||
super().__init__(conn, db_name, all_queries)
|
super().__init__(conn, db_name, all_queries)
|
||||||
|
|
||||||
def run(self, aufgabe: str | None = None):
|
def run(self, aufgabe: str | None = None):
|
||||||
|
|||||||
Reference in New Issue
Block a user