@Brajancik: Ja słyszałem. Mam administruję Exadata. Jak dobrze rozumiem to Exadata i Supercluster to w zasadzie to samo z tą różnicą że w Exadata compute node (serwer DB) jest amd64, a w SuperCluster jest SPARC. W obu reszta chyba jest z grubsza ta sama, tj w szafie masz minimum trzy serwery storage na amd64 z dyskami HDD lub SSD oraz kartami NVMe w charakterze cache. Całość ma interconnect zrobiony w oparciu
18+

Zawiera treści 18+

Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.

W jaki sposób importować dane z CSV do wielu relacyjnych tabel?
Załóżmy że mam plik CSV z kolumnami "nazwisko", "miasto".
Naturalnie mam w bazie dwie tabele, jedną z klientami - nazwisko oraz miasto_id, a druga tabela to wiadomo, po prostu id i nazwa miasta.
Jest jakieś narzędzie albo ogólnie przyjęty sposób konwersji takich danych? Zarówno dla baz pustych, jak i tych z danymi.

Jedyne co mi przychodzi na myśl to co wiersz
najprościej by chyba było jakbyś zrobił tabele "tymczasową" do której wczytujesz dane z pliku csv, a następnie z tymczasowej miasta do tabeli z miastami(tylko distinctem żeby się nie powtarzały), później nazwiska z tymczasowej do klientów z jednoczesnym zaczytaniem id miasta na podstawie porównania zawartości tabeli tymczasowej z docelowej z miastami

w przypadku ms sqla mozna by to zrobić prostym ssisem, który powinien się dość szybko przetworzyć i dodać do joba, który by
Mirki, mam tabelę w oraclu gdzie przechowuję SDOGEOMETRY i potrzebuję sprawdzać czy nowa geometria istnieje w tej tabeli, jeśli nie to dodaję. Jak najlepiej to zrobić SDOEQUAL? Przy próbie testowego sprawdzenia:
SELECT *
FROM GEO
WHERE SDOEQUAL(SDOGEOMETRY (2001,4326,SDOPOINTTYPE(11,11,NULL),NULL,NULL),
SDOGEOMETRY (2001,4326,SDOPOINTTYPE(11,11,NULL),NULL,NULL)
) = 'TRUE';

Wyrzuca:
ORA-13226: interfejs nie jest obsługiwany bez indeksu przestrzennego
ORA-06512: przy "MDSYS.MD", linia 1723
ORA-06512: przy "MDSYS.MDERR", linia 8
ORA-06512:
@Rageslaw: Czy masz dostep do dba indexes? Sprawdzilbym, czy indeks jest w stanie VALID (przy klauzuli where INDEX TYPE = 'DOMAIN' i ITYP NAME = 'SPATIAL INDEX'). Pamietaj, ze nie chodzi tu o kolumne STATUS, tylko inna ;)

Moze byc to równie dobrze bug, warto przejrzec MOS, np. Doc ID 1664507.1 - "
BUG 17922440 - ORA-13226: INTERFACE NOT SUPPORTED WITHOUT A SPATIAL INDEX The problem is with index-based functional implementation.
Mam tabele o następującym kodzie:

CREATE TABLE grades (

id int(11) NOT NULL AUTOINCREMENT,

grade double(2,1) NOT NULL,

subject_id int(11) DEFAULT NULL,

desc varchar(50) COLLATE utf8unicodeci DEFAULT NULL,

PRIMARY KEY (id),

KEY sub_ind (subject_id),

CONSTRAINT grades_ibfk_1 FOREIGN KEY (subject_id) REFERENCES subjects (id) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8unicodeci


oraz

CREATE TABLE subjects (

id int(3) NOT NULL AUTOINCREMENT,
Kupić u spamerskich psich maści sprzedawców baz danych. Daj mi lepiej adresy serwerów z których będziesz wysyłać, to za wczasu wpiszemy im odpowiednią regułkę dla poczty ;-)......
@interface:

tldr;

Jest szybszy, bo operacja zapisu nie podlega skanowaniu antywirusem. W testach założyli, że antywirus jest aktywny, bo jest to domyślne ustawienie Windowsa.

Tak że tego...

Ale i tak ciekwe spostrzeżenie.
Jest szybszy, bo operacja zapisu nie podlega skanowaniu antywirusem. W testach założyli, że antywirus jest aktywny, bo jest to domyślne ustawienie Windowsa.


@vipe: antywirus jest jednym z czynnikow, wyniki pokazaly tez ze jest szybsze na androidzie, linuxie i macu
@plushy: No spojrzałem w dokumentację zanim napisałem. Myślałem, że ktoś mnie oświeci, zwłaszcza do co różnicy między = a LIKE bez % i _. Choć koszt pewnie jest mały, to głupio trochę mieć dwa indeksy, jeśli wystarczy jeden.
@RicoElectrico: LIKE używa operatora ~~, jest to inny operator niż =. Jeśli włączysz btreegist to możesz mieć index gist który na jednym poziomie będzie miał trigramy a na drugim = się dla textu (gisttext_ops) ale razem się tego skombinować nie da. Tyle od strony technicznej, czemu nie zaimplementowali = się dla textu musisz się pytać autorów. Jak ci się nudzi to możesz zaimplementować klasę operatorów która łączy obie te
Mirki, mam pytanie z #bazydanych #sql, mianowicie: mam sklep internetowy na Presta, zaciągnięte produkty z hurtowni przez XML, niestety hurtownia nie udostępnia producentów. Produktów jest kilka tysięcy i klikanie sobie po kolei każdy żeby ustawić producenta to ogrom roboty. Pomyślałam, że może da się to zrobić jakoś przy pomocy SQL.

Na podstawie lektury w internetach ułożyłam sobie takie polecenie:
UPDATE ps_product SET idmanufacturer = '1' WHERE name = '%Producent%'

Problem jest