-
Count(*) zählt auch alles ab und bei vielen Sätzen, ohne entsprechenden (Encoded) Vector Index, kann das schon dauern!
Wenn Du nur wissen willst, ob ein Satz vorhanden ist oder nicht, solltest Du mit FETCH FIRST ROW ONLY oder LIMIT (ist im Übrigen SQL Standard!) oder mit EXISTS (wie Baldur erklärt hat) oder mit Values() arbeiten:
Code:
Select 1
from D_FWABUS
Where MANDKENN like 'EWI%'
Fetch First Row Only;
Und wenn Du unbedingt ein "IF" haben willst, kannst Du die Abfrage auch so machen:
Code:
Values(Case When (SELECT 1 FROM D_FWABUS WHERE MANDKENN LIKE 'EW1%' Fetch First Row Only) = 1
Then 1
else 0 End);
Es ist allerdings zu beachten, dass SQL Server keine Db2 for i ist und die Datenbanken unterschiedlich optimieren. Der Query Optimizer auf der i kann durch die Kommunikation mit dem Statistics Manager und weil die Statistiken auch immer aktuell sind, auch die Summe relativ fix ermitteln.
... und dann solltest Du Tests nicht (mehr) mit STRSQL, sondern mit ACS machen!
Birgitta
-
Wobei es bei ACS keinen Unterschied im SQL zu STRSQL gibt.
Microsoft SQL-Server war und ist immer schon was besonderes und hat halt viele Non-SQL-Erweiterungen, die mit SQL-Standard nur wenig bis gar nichts zu tun hat.
Somit lassen sich SQL-Server SQL's häufig gar nicht auf die DB2 for i anwenden.
SQL-Server:
select current date;
DB2:
values(current date)
SQL-Server:
select bla into newtable
from oldtable where ...
db2:
create table newtable as
(select * from oldtable)
with data
usw. usf.
Und das Allerschlimmste: SQL-Server ist ein schlechterer Optimierer als unsere DB2 und macht grundsätzlich "pessimistische" Locks.
Letzteres bedeutet:
Solange eine "Select xxx" nicht beendet ist, also alle Daten abgerufen sind, sind alle betroffenen Tabellen insgesamt gegen veränderungen gesperrt.
Das selbe gilt für alle Update/Delete/Inserts. Diese sperren die Tabellen bis ein Commit/Rollback durchgeführt wird.
Dadurch erklären sich auch manche seltsamen SQL-Konstrukte dieser DB.
-
Vielen Dank an Birgitta
Grüße
Dschainers
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks