Ciekawostka - w mysql, w przeciwieństwie do mssql jest funkcja timediff(), znajdująca zastosowanie np. w takim zapytaniu: timediff(max(RunDate), min(RunDate)), zwracająca: '00:00:07'. Nie znalazłem opisu tejże funkcji w oficjalnej dokumentacji (może źle patrzyłem) - to wrzucam:P

#romanisql #programowanie #sql
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #informatyka znacie jakiś dobry kurs programowania SQL? i ewentualnie 4GL? Najlepiej taki, w którym się coś robi interaktywnie, a nie czyta pdf.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

To jeszcze opis zmiennej thread_stack, która mi wczoraj dała do zrozumienia, że wypada ją ustawić;)

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_thread_stack

http://technical-qa.blogspot.com/2010/12/mysql-problem-thread-stack-overrun.html - i wpis o tym, gdzie ją ustawić. Ja zrobiłem to z poziomu Workbencha - z poziomu sql dostawałem info, że zmienna jest tylko do odczytu:)

#romanisql #programowanie #sql
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@anonim1133: Jest ustawiona domyślnie z parametrami: 192KB (256KB for 64-bit systems), a to za mało na odpalenie procedury mega procedury, którą napisałem do wygenerowania danych - po około 40 iteracjach dostawałem error thread stack overrun (błąd skutkuje przerwaniem wykonywania zapytania) . Ustawiłem wartość czterokrotnie większą niż domyślna (wychodząc z założenia, że mogę sobie na to pozwolić w trakcie prac na instancji testowej - na produkcji zoptymalizowałbym procedurę.). Co ważne sama
  • Odpowiedz
Na razie robię sobie i ładuję strukturę głównej tabeli bazy, którą bez przerwy będzie męczył klient. Testy wydajnościowe wykonam na 100K rekordów i jak mi przez przypadek wyjdzie, że w moim zastosowaniu data w int jest wolniejsza - to dam wam znać (swoją drogą ciekawy task).

Jak już przy optymalizacji jesteśmy, będę testował wydajność zapytań z cache i bez cache (a nie jest to wcale ewidentne). Na rozgrzewkę wrzucam kilka linków na ten temat, konkretniejszą rozkminkę zrobię jednak później - jak wybiorę optymalny format przechowywania danych.

Informacyjnie - zrezygnowałem z testów wydajnościowych na jakimkolwiek hostingu (nie wiem, co mnie podkusiło, chyba lenistwo:) i działam lokalnie na wirtualce.

Wersja
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema! Siedzę teraz nad dość konkretną optymalizacją SQLową (mysql) i jeszcze przez kilka dni będę dłubał w kilometrach procedur... W związku z tym będę też przerzucał internet w każdą możliwą stronę. Czy wrzucać tu od czasu do czasu jakieś linki do ciekawych informacji, tematów optymalizacyjnych, etc.? Warto? Ktoś to będzie czytał?

#sql #mysql #programowanie #romanisql
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #wydajnosc #mysql #mssql #programowanie #informatyka #aqwarttolewak

Pracuję obecnie na bazie danych SQL postawionej na zwykłym komputerze z windowsem. W jaki sposób mogę zmierzyć wydajność tego komputera? Potrzebuję wykonywać proste zapytania (bez skomplikowanych obliczeń), ale bardzo często (na tyle często, na ile tylko sprzęt mi pozwoli). I teraz w jaki sposób określić,że nie mogę zwiększyć częstotliwości odpytywania? Obciążenie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wytłumaczcie mi coś bo zaraz oszaleję. Dodaję coś do bazy w mysql przez phpmyadmin. Piszę insert..., wartość tekstową podaję tak: 'test' - nie działa, "test" - nie działa,

test
- nie działa. :O

#programowanie #mysql #sql
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #mysql #programowanie

Mam hipotetyczną tabelę. Potrzebuję z niej wybrać sumę punktów dla zawodnika łącznie, oraz sumę w serii. Załóżmy 3 serie po 10 punktów.

Czy mogę zrobić to w jednym zapytaniu? Bez problemu wybieram sumę wszystkich punktów dla poszczególnych zawodników, bez problemu wybiorę punkty z danej serii osobno(LIMITem wycinam tylko punkty które należały do danej serii, bo te są dodawane kolejno, jeden po drugim). Ale nie potrafię tego spisać w jednym zapytaniu - czy jest to w ogóle możliwe? Może gdybym oznaczał sobie przy okazji które punkty dotyczą której serii to by to coś dało?

Potrzebne
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#aqwartmorderca #aqwarttolewak #sql #mysql #mssql #informatyka #ciezkiepytania

Potrzebuję pobrać z bazy SQL (akurat to jest MSSQL) z tabeli "ostatnie odwiedziny" (data, uzytkownikid) ostatnią datę odwiedzin wszystkich użytkowników. Obecnie robię to poprzez max(data) i potem group by uzytkownikid. I teraz pytanie: na ile wydajny jest ten sposób? Jak można to rozwiązać lepiej? Macie jakieś pomysły? Baza sql
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Szybkie pytanie do bazodanowców. Czy jeśli Excelu zaimportowałem tabele z bazy danych SQL i zmieniłem coś w niej to czy jest sposób na to aby z poziomu excela zaktualizować tę bazę?

#sql #excel #bazydanych
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@siemanko: To się z vba wypisuję:/

Od strony bazy danych masz dwie opcje:

1. Robisz sobie zmiany w excelu, a potem wczytujesz je jedną z metod, które podałem (w zależności od tego, jaka to jest baza danych - jaki silnik)

2. Zmiany robisz bezpośrednio w bazie używając sqla. Tylko musiałbym wiedzieć jakiego typu są to zmiany. Sama składnie też się różni - w zależności od silnika.
  • Odpowiedz
Mam takie zapytanie:

SELECT login, count(*) as cnt FROM tab_1 WHERE (...) GROUP BY login ORDER by cnt DESC;

Zapytanie zwraca ilość rekordów z podziałem na każdego użytkownika, czyli jeżeli user a1 ma 5 rekordów w tabeli a user b2 ma 2 wpisów, to baza zwróci:

------
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #bazydanych

Zakładając, że ktoś nie ogarnia, nie zna się. Ale słyszał gdzieś kiedyś, że jak nałoży się indeks na kolumnę to szybciej wszystko działa i w ogóle.

Jeżeli taki ktoś założy indeks na wszystkie kolumny to nadal będzie szybciej, tylko zmarnuje niepotrzebnie przestrzeń na dysku, czy indeksy na wszystkim namieszają bazie i będzie wręcz gorzej?
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RomantycznyRoman: Jasne, nie mówię, ze nie. Workbencha widziałem może ze 3 razy w życiu na oczy. Ale faktycznie... ładnie wygląda :3

Zaraz sprawdzę, ale pewnie w repo go nie mam :(

//Ło patrz, jednak mam. A kiedyś chyba nie było.

  • Odpowiedz
#programowanie #sql

Projektuje system, gdzie mam tabelę z osobami, osoba może być użytkownikiem (user), osoba może przynależeć do zespołu, i osoba może się zgłosić na imprezę. Osoba też musi płacić składki, składki może płacić w kilku ratach, a składka jest określana indywidualnie dla każdej osoby na każdy rok, czy taki projekt bazy ma sens? Czy coś pominąłem?

http://i.imgur.com/2Tqiz.png
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yahoo_: No tak, podczas rejestracji wpłat chcę oznaczać na jaki rok jest to wpłata, plus muszę powiązać wpłatę z imieniem i nazwiskiem, a nie ze składką.... chyba jednak projekt sam się broni, więc powinno być ok. ;)

@Wozyack: @Yahoo_: Dzięki za rzut okiem :)
  • Odpowiedz