Translation not up to date
Aby uzyskać najlepszy wzrost wydajności z optymalizacji SQL, należy zwrócić uwagę na elementy w tej sekcji.
Kolejność przepływu. Generowanie kodu SQL może być wstrzymane, gdy funkcja węzła nie ma odpowiednika semantycznego w języku SQL, ponieważ funkcja eksploracji danych programu SPSS Modelerjest bogatsza niż tradycyjne operacje przetwarzania danych obsługiwane przez standardowy kod SQL. Kiedy tak się dzieje, generowanie kodu SQL jest również wstrzymywane dla kolejnych węzłów. Dlatego też można znacznie poprawić wydajność, zmieniając kolejność węzłów, tak aby umieścić operacje zatrzymujące generowanie kodu SQL tak daleko w strumieniu, jak to możliwe. Optymalizator SQL może automatycznie dokonać zmiany kolejności, ale możliwe jest wprowadzenie dalszych udoskonaleń. Dobrym kandydatem do tego procesu jest Węzeł selekcji, który często można przesunąć do przodu. Więcej informacji na ten temat zawiera sekcja Węzły obsługujące komendę SQL pushback .
Wyrażenia CLEM. Jeśli przepływ nie może zostać ponownie zamówiony, można zmienić opcje węzła lub wyrażenia CLEM lub w inny sposób przeredagować sposób wykonywania operacji, tak aby nie hamował on generowania kodu SQL. Węzły wyliczeń, selekcji i podobnych mogą być często renderowane w języku SQL, pod warunkiem że wszystkie operatory wyrażeń CLEM mają odpowiedniki SQL. Większość operatorów można przekształcić, ale istnieje kilka operatorów, które zatrzymują generowanie kodu SQL, w szczególności funkcje sekwencji („funkcje @”). Czasami generowanie zostaje zatrzymane, ponieważ wygenerowane zapytanie stało się zbyt złożone do obsługi przez bazę danych. Więcej informacji na ten temat zawiera sekcja Wyrażenia CLEM i operatory obsługujące instrukcje SQL pushback .
Wiele węzłów wejściowych. Jeśli przepływ ma wiele węzłów importowania danych, generowanie kodu SQL jest stosowane do każdej gałęzi importu niezależnie. Jeśli generowanie zatrzyma się na jednej gałęzi, może być kontynuowane na innej. Jeśli dwie gałęzie łączą się (i obie gałęzie można wyrazić za pomocą SQL aż do połączenia), połączenie można często zastąpić łączeniem bazy danych i można kontynuować generowanie w dalszej części.
Modele oceniania. Ocenianie w bazie danych jest obsługiwane dla niektórych modeli przez przekształcenie wygenerowanego modelu do SQL. Niektóre modele generują jednak niezwykle złożone wyrażenia SQL, które nie zawsze są efektywnie oceniane w bazie danych. Z tego powodu generowanie kodu SQL musi być włączone oddzielnie dla każdego wygenerowanego modelu użytkowego. Jeśli zostanie przekonane, że model użytkowy blokuje generowanie kodu SQL, należy otworzyć ustawienia modelu użytkowego i wybrać opcję Generuj kod SQL dla tego modelu (w przypadku niektórych modeli mogą być dostępne dodatkowe opcje sterujące generowaniem). Przeprowadź testy, aby potwierdzić, że opcja jest korzystna dla określonego zastosowania. Więcej informacji na ten temat zawiera sekcja Węzły obsługujące komendę SQL pushback .
Podczas testowania węzłów modelowania, aby sprawdzić, czy generowanie kodu SQL dla modeli działa efektywnie, zaleca się najpierw zapisanie wszystkich przepływów z programu SPSS Modeler. Należy pamiętać, że niektóre systemy baz danych mogą się zawiesić podczas próby przetworzenia (potencjalnie złożonego) wygenerowanego kodu SQL.
Buforowanie bazy danych. Jeśli do zapisywania danych w newralgicznych punktach przepływu używana jest pamięć podręczna węzła (na przykład po węźle scalania lub agregacji), należy upewnić się, że buforowanie bazy danych jest włączone razem z optymalizacją SQL. W większości przypadków pozwoli to na buforowanie danych w tabeli tymczasowej w bazie danych (zamiast w systemie plików).
SQL specyficzny dla dostawcy. Większość wygenerowanego kodu SQL jest zgodna ze standardami (SQL-92), ale niektóre niestandardowe, specyficzne dla dostawcy funkcje są wykorzystywane, jeśli jest to praktycznie uzasadnione. Stopień optymalizacji SQL może się różnić w zależności od źródła bazy danych.