weterani #mysql mieliśnie w ogóle kiedykolwiek styczność z takim cyrkiem jak partycjonowanie i jakimiś innymi "głębszymi" rzeczami? mi to nigdy nie było potrzebne ale jestem ciekaw, poczytałbym coś o tym jako przykład w realu

oprócz wszelakich zapytań sql, procedur/trigerów/funkcji i prostych replikacji to ja nie miałem nigdy doczynienia z "partycjonowaniem" nawet nie wiem co to jest.

nawet gorzej tak w życiu na produkcji to miałem z dwa razy myisam dawno temu
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KwadratowyPomidor2

Na przykład tabela ze szczegółami faktur - przyrost to kilka-kilkanaście tysięcy wierszy dziennie.
Są to dane historyczne (nie zmieniają się), ale często odpytywane na różne sposoby (historia faktur, raporty etc). Partycjonując to umożliwiasz zrównoleglenie tego na poziomie engine'u MySQLa, bo przeszukujesz jednocześnie kilka mniejszych zbiorów zamiast jednego dużego.

Dodatkowo umieszczając te partycje na różnych fizycznych dyskach zyskujesz na wydajności na poziomie sprzętowym, bo przeszukiwanie każdego podzbioru odbywa się na innym dysku,
  • Odpowiedz
Mirki muszę zrobić prostą tabelę, a nie znam się na bazach danych. Mam taką tabelę:

CREATE TABLE FAKTURA (
NRFAKTURY INT IDENTITY (1,1) NOT NULL PRIMARY KEY,
SPOSOB
PLATNOSCI NVARCHAR(30),
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Poważne pytanie, mamy tabelę kursy, i tabelę ćwiczenia (jeden kurs zawiera wiele ćwiczeń), i każdy user ma kursy.
I teraz czy userId powinno być tylko w tabeli kursy, czy i w tabeli kursy i tabeli ćwiczenia.
Opcja 1:
Kurs(id, nazwa, opis, userId)
Ćwiczenie(id, nazwa, reguły, kursId, userId)

Opcja

Która opcja?

  • 1 50.0% (2)
  • 2 50.0% (2)

Oddanych głosów: 4

  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@directPlay: Żadna z opcji. Łączysz jedno z drugim po użytkowniku:
- User(id),
- Kursy(id),
- Ćwiczenia(id, kurs_id),
- KursyUsera(user_id, kurs_id),
- ĆwiczeniaUsera(user_id, cwiczenie_id)
Ćwiczenia wiedzą do jakich kursów należą, chyba że jedno może należeć do wielu - wtedy Ćwiczenia(id) + ĆwiczeniaKursów(id, cwiczenie_id, kurs_id), a ĆwiczeniaUsera zmienia się w ĆwiczeniaKursówUsera(user_id, cwiczenia_kursów_id) lol.
  • Odpowiedz
DELIMITER ;

DROP PROCEDURE IF EXISTS generate_discount_codes;

DELIMITER //
CREATE PROCEDURE generate_discount_codes(IN quantity INT(8), IN discount INT(8), IN date_start DATE, IN date_end DATE, IN coupon_group_id INT(8))
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, mam problem z insertem. Tabela wygląda tak:
create table t1(c timestamp not null default current_timestamp);
próbuję na niej zrobić coś takiego:

insert into t1(c) values (null);
Lokalnie (MySQL 5.7.5) działa poprawnie, tzn. do kolumny wstawia aktualną datę. Ale na hostingu (MySQL 5.6.27) dostaję Error Code: 1048. Column 'c' cannot be null
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RRybak: znalazłem :) trzeba wyłączyć opcję explicit_defaults_for_timestamp i działa jak powinno. Tzn, tak samo, jak na innych serwerach.
Zgodnie z dokumentacją, ta opcja jest domyślnie wyłączona, ale akurat w Amazonie ją włączają...
  • Odpowiedz
Mirki jaki linux na wirtualną maszynę do półamatorskiej zabawy z php, mysql ? Zależy mi prostej konfiguracji oraz administracji tym w środowisku lokalnym - póki co bez wypuszczania tego na zewnątrz.

#php #mysql #linux #unix #komputery
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#webdev #php #mysql znacie jakieś narzędzie do wypełniania formularzy losowymi danymi? Potrzebuję do testów stworzyć większą bazę użytkowników a nie chce mi się wpisywać ręcznie.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

ja zawsze myślałem że ten TINYINT, SMALLINT itd to tylko skróty są w #mysql żeby nie wpisywać ręcznie wielkości dla inta, ale jak chciało mi utworzyć nową tabelę gdzie kluczbe oce miały same INT(X) a w tabelach do których były relacje były TINYINT czy SMALLINT to nie chciało zrobić bo wywalało Foreign key constraint is incorrectly formed, ktoś wie czy da się to jakoś obejść ? #programowanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

mam problem - dla Was pewnie banał - ale mi to za nic nie idzie.
Otóż mam w tabeli A dane w postaci "xxABCD123$EFg433" i potrzebuje wyciąć z tej danej tylko część przed $ czyli xxABCD123. Czy ktoś z Was może pomóc?

#mysql #sql
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

mirki, mam sobie takie query:
DATE_FORMAT(MAKEDATE(YEAR(date_from), 1) + INTERVAL QUARTER(date_from) QUARTER - INTERVAL 1 Quarter,'%Y-%m-01 00:00:00'),NULL) które wylicza mi datę początkową kwartału do której wpada datefrom, i teraz tutaj mam zagwozdkę, jeśli datefrom i dateto są w innym kwartale to muszę też policzyć tą datę dla date_to - czy jest sens dodawać IF'a ? czy wpłynie to jakoś na wydajność ? czy może sam IF doda overhead i wyjdzie na
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurigag: jeśli IF masz w polu, a nie w warunku, to nie ma to specjalnego wpływu na wydajność. Pola i tak będą musiały zostać pobrane (największe obciążenie), a co z nimi zrobisz, to już jest marginalna kwestia.
  • Odpowiedz
Mirki, da się złączyć dwa zapytania w jedno w #mysql ? Aktualnie mam dwa, pierwszym zapytaniem pobieram sobie coś z tabeli community gdzie jest pole uid, a drugim zapytaniem pobieram nazwę użytkownika (pole nick) z tabeli users na podstawie pola uid z tabeli community. Może trochę zawiłe, ale chyba rozumiecie. Jak mogę coś takiego zrobić?
#bazydanych #nieprogramowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z bazą danych.

Robię kurs pana Mirosława Zeletna. XAMPP odpala się ładnie, wszystko działa do momentu az wpisuję w adres

localhost/quiz


powinna
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #sql #mysql

Co myślicie mireczki? Tabela ma zawierać userów do systemu logowania w appce mobilnej. Ilość rekordów będzie od kilkudziesięciu tysięcy do kilku milionów. Robię bazę pierwszy raz w życiu. Tabela userów będzie przeszukiwana tylko przy logowaniu i rejestracji. W sumie to też podczas działania całej appki, ale to już po ID usera.

CREATE TABLE users (
sno int(110) NOT NULL AUTO_INCREMENT,
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mamy ćwiczenia(nazwa, idusera) które składają się z zadań(zdjecie, slowodoodgadniecia, idusera), jedno ćwiczenie to np lista 20 zadan.
Jak to zapisać w bazie:
1. Zadanie(id, slowodoodgadniecia, zdjecie, idusera)
Ćwiczenie(id, id
zadania, nazwa, id

Który sposób? Lub lepszy - komentarz

  • 1 40.0% (6)
  • 2 26.7% (4)
  • inny/nie znam sie 33.3% (5)

Oddanych głosów: 15

  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

mirki, mam taki problem, klient ma ten sam system(webaplikacja) postawiony dwa razy, bo było to robiony na szybko - po prostu w jednym systemie są inne zamówienia, w drugim innego rodzaju, jest oddzielna baza danych itd, i teraz chce abym mu scalił bazę, oba systemy korzystały ze wspólnej bazy(tj użytkownicy, firmy itd w bazie były wspólne dla obu systemów) i teraz zastanwiam się jak to rozwiązać, czy wszystko upchnąć do jednej bazy,
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurigag: Jak chcesz scalić to po całości – jedna baza na wszystko. Nie próbuj robić, że np wspólna tabelka użytkowników, a inne rzeczy w oddzielnych tabelach, bo pokiereszują Ci się relacje.
  • Odpowiedz
Sprawa nie jest taka prosta, do odpowiedzi i opracowania planu scalenia była by potrzebna znajomość struktury całej bazy. Masz w niej pewnie relacje typu zamówienie---->pozycje_zamowienia itp. Zmiana jednego id rozsypie ci te relacje.

Najpierw trzeba przeanalizować strukturę, podjąć decyzję czy można zmieniać id i na jakie relacje będzie to miało wpływ. Następnie trzeba skorygować wiązania. Operacja wykonalna ale raczej kosztowna, wymaga dokładnego zaplanowania i przetestowania.
  • Odpowiedz
Mirki, jestem zielonka w #programowanie więc poproszę o podpowiedzi jak pójść krok naprzód.
Rozpocząłem własny, treningowy, notabene chyba za duży jak na mój skill projekt #html5 #css3 #php #mysql
Zrobiłem panel logowania do zaplecza strony, łączy się z bazą, pobiera dane, jest zabezpieczenie przeciwko wstrzykiwaniu sql, można się zalogować i wylogować.
W zapleczu strony zrobiłem (chyba dynamiczne) menu pobierane z bazy danych
damianopolishiano - Mirki, jestem zielonka w #programowanie więc poproszę o podpowied...

źródło: comment_ndPHyewfDrbsHph0XVvOBUhcxujhTaUE.jpg

Pobierz
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@damiano_polishiano: Lepiej niczego nie porzucaj, tylko działaj wielotorowo :) Co do js/jQuery, olej countdowny, tylko skoncentruj się na operacjach na elementach DOM i współpracy js z PHP (AJAX). Operacje na elementach HTML-owych są dość proste, dają sporo satysfakcji i zachęcają do nauki bardziej poważnego js-a
  • Odpowiedz
Mirki mam kłopot w #pracbaza z jednym zapytaniem MySQL, chodzi o wyszukiwarke PrestaShop, 600 tys. produktów.
Kiedy wywołam kwerende z PHPmyAdmin trwa ona 0,0001s, ale kiedy PrestaShop wykonuje taką samą trwa to prawie 15 sekund!!! Pomocy.

Obrazek na TinyPic : mirror

wołam #programowanie #informatyka #it #mysql #bazydanych
crazy_blazer - Mirki mam kłopot w #pracbaza z jednym zapytaniem MySQL, chodzi o wyszu...

źródło: comment_EffcvR0AQm6nnB0pjitcv9JDt63oQtaO.jpg

Pobierz
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach