#bazydanych #mysql #pytaniedoeksperta

próbuję przyspieszyć mysqla

innodbbufferpool_size = 1G

nie mogę ustawić tej wartości powyżej 1GB, mimo, że na kompie mam 8gb ramu. np dla 2gb dostaję taki error:


InnoDB: VirtualAlloc(2175795200 bytes) failed; Windows error 8


da się coś z tym zrobić? albo co mogę jeszcze zmienić, żeby szybciej hulało? do tej pory podmieniłem my.ini na gotowca (był taki w ktalogu mysql w xampie, nie wiem czy to jakiś ogólnie
#mysql #mssql #sql #programowanie #pytanie #zapytanie

Męczę się nad takim zapytaniem. Może ktoś ma jakiś pomysł?

Mam wyłącznie jedną tabelę w bazie. Nazywa się np. "Ludzie". w niej mam idludzia oraz jego cechę. I wpisy np. id ludzia=245, cecha =ładny; id ludzia=245 cecha = śmieszny itd....

W ten sposób robiąc select mogę w prosty sposób pobrać wszystkie cechy ludzia o ID = 245.

Ale! Potrzebuję (wyłącznie na poziomie SQL) zrobić zapytanie
@komeniusz: or też nic nie da - będziesz liczył ludzi tylko z 1 z tych cech, a ludzi z obiema będą policzeni 2 razy. Trzeba zrobić to jakoś tak:

select count(*) from ludzie L1, ludzie L2 where L1.id_ludzia = l2.id_ludzia and L1.cecha = 'ładny' and L2.cecha='śmieszny';
@siemanko: to powinneś to trzymać tak:

table parametry (id_parametru, nazwa_parametru, ...) -- tu masz wypisane jakie parametry w ogole sa mozliwe

table uzytkownicy (id_uzytkownika, ...) -- tu masz wypisane, jacy sa uzytkownicy

table wartosci_parametrow_dla_uzytkownikow (id_uzytkownika, id_parametru, wartosc_parametru) -- tu masz 2 klucze obce - do uzytkownikow i do parametrow, i trzymasz wszystkie wartosci parametrow

i wtedy masz selekta po prostu

select nazwa_parametru from wartosci_parametrow_dla_uzytkownikow w where id_uzytkownika = $id_uzytkownika and wartos_parametru
Eksperci drodzy. Mam za zadanie poprzydzielać ludzi pojedynczych do baz danych. Ludzi mamy kilkunastu, baz kilkadziesiąt, są różne projekty, ludzie przychodzą, odchodzą, przechodzą od jednego do drugiego. Nawet w ramach jednego projektu może się okazać, że 90% zespołu widzi wszystkie tabele danej bazy, a 3 osoby powinny widzieć tylko 2 z nich.

Ponieważ MySQL nie pozwala w prosty sposób zarządzać grupami uprawnień (role tym przypadku odpadają), to czy istnieją jakieś programy, które
Będę potrzebował przechwycić pewne dane, mianowicie:

- nick

- jeżeli był online to z jakim statusem (nowy, czy ostatnio zapamiętany)

- dodatkowe pole informacji

Jak powinno się to poprawnie dodać do bazy danych tak - aby móc potem sobie z tego wygenerować statystyki? Chodzi mi o samą metodę wsadzenia tego do bazy, tak aby było wedle sztuki ;-) Tworzyć dla każdego użytkownika nowy wpis w tabeli i tam dodawać wszystkie wymienione informacje?
#bazydanych #mysql

Hej mirki, wlaśnie się zastanawiam jak rozwiązać pewną zagwozdkę bazodanową.

Jest baza danych z materiałami video, każdy materiał ma od jednego do czterech jakości (najgorszą jakość ma zawsze, resztę już niekoniecznie). Aktualnie jest to rozwiązane tym że jest tabela videos zawierająca ID, ścieżkę do najgorszej jakości i różne inne, oraz druga tabela qualities która zawiera id filmu z tabeli videos,nazwę jakości oraz ścieżkę) jako oddzielne rekordy. Czy to jest dobre
@piowit: Możesz jeszcze zrobić tak:

1. Masz tabelę, w której znajduje się kompletny opis filmu (ID AI, Name varchar(50), ewentualnie link), z kluczami obcymi na atrybutach.

2. Atrybuty przenosisz do osobnych tabel.

Przy takim rozwiązaniu masz szybką tabelę główną i kilka tabel wymiarowych. Piszesz sobie jeszcze skrypt do dodawania wpisów, a poszczególne zestawienia wyświetlasz sobie widokami (jak tam wykombinujesz).

Na mój gust to przerost formy nad treścią (bo szybkość przy tak
@msq: wiem, jest w tekście.

@chore_kalafiory chyba miał na myśli, że inżynierowie googla muszą mieć poszargane nerwy (tak?). @msq dla nich to NIE jest "drop-in replacement" - mówi się, że pracują z fundacją MariaDB przynajmniej od początku tego roku aby doprowadzić do bezbolesnej migracji. To NIE jest serwer czy kilka serwerów, Google ma tego tysiące ;D
Ciężki temat:

Muszę napisać w mysql pewne zapytanie do wyszukiwarki które wskaże mi sugestie:

a) gdy je przekaże w takiej postaci "ala ma kota" to każde słowo potraktuje jako klucz po którym będzie przeszukiwać tabele kolumne,

b) mam drugą tabelę z której pobieram zabronione słowa które mają być usunięte z wyników wyszukiwania

dwa warunki jednak sprawiają mi kłopot, szczególnie pierwszy,

Ktoś ma jakiś pomysł jak to zrobić?

#mysql #sql #sql #webdev #
@SebusPL: ale przecież to co masz wyżej to komenda DROP a nie CREATE, czyli służąca do usunięcia bazy danych, jeśli masz zapytanie i ono wygląda np. tak.

DROP DATABASE IF EXISTS chat;

CREATE costamcostam

to po prostu wywal wszystko przed create i przy założeniu że nie ma innych problemów to zapytanie powinno przejść :)

Z tym że wychodzi na to że u Ciebie baza danych o nazwie "chat" już istnieje tyle
1. Napisz sobie 'wersjonowanie/revisions' treści oparte o triggery w #mysql

2. Wrzuć pliki na serwer w home.pl

3. Zobacz, że nie działa...

4. Wejdź w #phpmyadmin z poleceniem SHOW GRANTS, aby się dowiedzieć, że niestety home.pl nie daje uprawnień do tworzenia wyzwalaczy, mimo że chwalą się MySQL w wersji 5.x

5. Napisz do supportu z pytaniem, które w ramach pomocy premium powinno być zrealizowane w trybie pilnym

6. Czekaj 3 godziny na
@prezes_n: Bez problemu możesz wrzucić drugą instancję obok - sam tak mam. Ale na mój gust powinieneś bardziej zastanowić się nad samym loadem csv - szczególnie w kontekście ramu - to jest na prawdę szybka akcja, a na niezłym serwerze (a taki masz) powinny to być ułamki sekund.

Musisz znać silnik, na jakim działasz - inaczej to wróżenie z fusów. :)

I nie rób nic na tym poziomie o 1.30, bo