Optymalizacja bazy danych
Wyniki 1 do 5 z 5

Temat: Optymalizacja bazy danych

  1. #1
    Nowicjusz
    Dołączył
    01-12-2009
    Wpisy
    9
    Punkty
    10

    Optymalizacja bazy danych

    Witam. Dostałem e-mail, który mnie nie pokoi:
    Witamy.

    System monitoringu usług wykrył nadmierne obciążenie bazy danych
    funkcjonujących w ramach Państwa konta hostingowego.

    Załączamy raport z analizy zapytań MySQL w bazie danych.

    Opis raportu:
    "Zapytania długo wykonywane" - zapytania z czasem wykonania powyżej 5
    sekund, od dnia 2010-01-09

    Nadmierne obciążenie baz danych niekorzystnie wpływa na jakość usług
    świadczonych przez Az.pl oraz dostępność usług w ramach
    Państwa konta hostingowego.

    Prosimy o wykonanie optymalizacji baz danych, w tym założenie indeksów w
    bazach danych w celu poprawy dostępności usług.


    Teraz mnie ciekawi co powinienem zrobić. Z bazą danych chyba sobie
    nie poradzę,a czy zmiana dostawcy hostingowego coś zmieni?nie na długo.Jakieś pomysły?
    A może jednak łatwo jest bazie dać małego kopniaka?

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Bywalec Raveren awatar
    Dołączył
    06-12-2008
    Skąd
    Lublin
    Wpisy
    185
    Punkty
    22

    Domyślny

    Sprawdź, czy masz dostęp do phpMyadmin. Jeśli tak, to w prosty sposób zrobisz optymalizację zaznaczając wszystkie tabele bazy i wybierając opcję optymalizuj. Jest też taki komponent do Joomla 1.5.x o nazwie com_joomMyAdmin15_3_2_5 (http://joomlacode.org/gf/project/joommyadmin/frs/ )
    Ostanio edytowane przez Raveren : 12-01-2010 13:16

  4. #3

    Domyślny

    lol
    wiesz o czym pisze firma hostingowa a co robi polecenie OPTIMIZE ??
    najwyrazniej jednak nie :/
    http://dev.mysql.com/doc/refman/5.1/...ize-table.html

    niestety joomla ma swoje wady a jedna z nich jest raczej kiepsko skonstruowany system wykonywania zapytan do bazy, przy duzych serwisach serwery mysql nie wyrabiaja ze wszystkimi joinami w selectach i mocno obciazaja serwer
    temat byl juz wiele razy poruszany na tym forum i tak naprawde jedynym sensownym rozwiazaniem byla zmiana hostingu (albo na dedyka albo na tekigo co si nie bedzie czepial)
    no chyba ze masz do wydania pare tysiecy zlotych to mozna sie pobawic w popracowanie nad struktura bazy danych ;P ;P
    zdravim
    hesar
    ================
    www.pozycjonowanie.se

  5. #4
    Nowicjusz
    Dołączył
    01-12-2009
    Wpisy
    9
    Punkty
    10

    Domyślny

    Dzięki za dotychczasowe odpowiedzi. Może spróbuje w tym phpAdminie, oby nic się nie popsuło, moja joomla ma ponad 1500 artykułów i troszke jest rozbudowana, codziennie dochodzą nowe. Jeszcze przysłali coś takiego:


    Zapytania długo wykonywane

    UPDATE `jos_session` SET `time`='S',`userid`='S',`usertype`='S',`username`= 'S',`gid`='S',`guest`='S',`client_id`='S',`data`=' S' WHERE session_id='S'
    Zapytanie wykonane 39 razy na bazie s77676sg_jo151, wartosci średnie: query time: 9.31s, lock time 0.03s, rows sent 0.0, rows examined 0.0
    DELETE FROM jos_session WHERE ( time < 'S' )
    Zapytanie wykonane 6 razy na bazie s77676sg_jo151, wartosci średnie: query time: 10.67s, lock time 0.17s, rows sent 0.0, rows examined 0.0
    SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits, a.images, a.urls, a.ordering, a.metakey, a.metadesc, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS('S', a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS("S", cc.id, cc.alias) ELSE cc.id END as catslug, CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, cc.title AS category, g.name AS groups, u.email as author_email FROM jos_content AS a INNER JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = a.sectionid LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE a.access <= N AND s.id = N AND s.access <= N AND cc.access <= N AND s.published = N AND cc.published = N AND a.state = N AND ( publish_up = 'S' OR publish_up <= 'S' ) AND ( publish_down = 'S' OR publish_down >= 'S' ) ORDER BY a.created DESC LIMIT N, N
    Zapytanie wykonane 5 razy na bazie s77676sg_jo151, wartosci średnie: query time: 17.00s, lock time 2.20s, rows sent 10.0, rows examined 183.4
    SELECT * FROM jos_session WHERE session_id = 'S'
    Zapytanie wykonane 5 razy na bazie s77676sg_jo151, wartosci średnie: query time: 13.20s, lock time 2.00s, rows sent 1.0, rows examined 1.0
    SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.attribs, a.urls, a.metakey, a.metadesc, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS('S', a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS("S", cc.id, cc.alias) ELSE cc.id END as catslug, CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, g.name AS groups, u.email as author_email, cc.title AS category, s.title AS section, s.ordering AS s_ordering, cc.ordering AS cc_ordering, a.ordering AS a_ordering, f.ordering AS f_ordering FROM jos_content AS a INNER JOIN jos_content_frontpage AS f ON f.content_id = a.id LEFT JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = a.sectionid LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE N AND a.access <= N AND a.state = N AND (( cc.published = N AND s.published = N ) OR ( a.catid = N AND a.sectionid = N ) ) AND ( a.publish_up = 'S' OR a.publish_up <= 'S' ) AND ( a.publish_down = 'S' OR a.publish_down >= 'S' ) ORDER BY f.ordering
    Zapytanie wykonane 3 razy na bazie s77676sg_jo151, wartosci średnie: query time: 7.33s, lock time 1.00s, rows sent 263.0, rows examined 1 853.0
    INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`clie nt_id` ) VALUES ( 'S','S','S','S','S','S' )
    Zapytanie wykonane 2 razy na bazie s77676sg_jo151, wartosci średnie: query time: 13.00s, lock time 0.00s, rows sent 0.0, rows examined 0.0
    SELECT a.*, COUNT( b.id ) AS numitems, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS('S', a.id, a.alias) ELSE a.id END as slug FROM jos_categories AS a LEFT JOIN jos_content AS b ON b.catid = a.id AND b.state = N AND ( b.publish_up = 'S' OR b.publish_up <= 'S' ) AND ( b.publish_down = 'S' OR b.publish_down >= 'S' ) AND b.access <= N WHERE a.section = N AND a.published = N AND a.access <= N GROUP BY a.id HAVING numitems > N ORDER BY a.ordering
    Zapytanie wykonane 2 razy na bazie s77676sg_jo151, wartosci średnie: query time: 8.50s, lock time 0.00s, rows sent 1.0, rows examined 133.5
    SELECT guest, usertype, client_id FROM jos_session WHERE client_id = N
    Zapytanie wykonane 2 razy na bazie s77676sg_jo151, wartosci średnie: query time: 9.00s, lock time 0.00s, rows sent 21.5, rows examined 22.5
    SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.attribs, a.hits, a.images, a.urls, a.ordering, a.metakey, a.metadesc, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS('S', a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS("S", cc.id, cc.alias) ELSE cc.id END as catslug, CHAR_LENGTH( a.`fulltext` ) AS readmore, u.name AS author, u.usertype, cc.title AS category, g.name AS groups, u.email as author_email FROM jos_content AS a INNER JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = a.sectionid LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE a.access <= N AND s.id = N AND s.access <= N AND cc.access <= N AND s.published = N AND cc.published = N AND a.state = N AND ( publish_up = 'S' OR publish_up <= 'S' ) AND ( publish_down = 'S' OR publish_down >= 'S' ) ORDER BY a.created DESC
    Zapytanie wykonane 2 razy na bazie s77676sg_jo151, wartosci średnie: query time: 23.00s, lock time 1.00s, rows sent 114.0, rows examined 571.0
    SELECT *, RAND() AS ordering FROM jos_banner WHERE showBanner = N AND (imptotal = N OR impmade < imptotal) AND cid = N AND catid = N ORDER BY sticky DESC, ordering LIMIT N, N
    Zapytanie wykonane 2 razy na bazie s77676sg_jo151, wartosci średnie: query time: 19.00s, lock time 0.50s, rows sent 1.0, rows examined 3.5
    SELECT comment AS text , date AS created , 'S' AS browsernav , 'S' AS section , 'S' AS href , id , object_id , object_group FROM jos_jcomments WHERE published='S' AND ((LOWER(name) LIKE 'S' OR LOWER(comment) LIKE 'S') AND (LOWER(name) LIKE 'S' OR LOWER(comment) LIKE 'S')) ORDER BY object_id, date DESC LIMIT N, N
    Zapytanie wykonane 1 razy na bazie s77676sg_jo151, wartosci średnie: query time: 5.00s, lock time 0.00s, rows sent 0.0, rows examined 23.0
    SELECT a.id, a.sectionid, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS("S", a.id, a.alias) ELSE a.id END as slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS("S", cc.id, cc.alias) ELSE cc.id END as catslug FROM jos_content AS a LEFT JOIN jos_categories AS cc ON cc.id = a.catid WHERE a.id = N
    Zapytanie wykonane 1 razy na bazie s77676sg_jo151, wartosci średnie: query time: 7.00s, lock time 0.00s, rows sent 1.0, rows examined 1.0
    UPDATE jos_content SET hits = ( hits + N ) WHERE id='S'
    Zapytanie wykonane 1 razy na bazie s77676sg_jo151, wartosci średnie: query time: 28.00s, lock time 0.00s, rows sent 0.0, rows examined 0.0
    INSERT INTO jos_vvisitcounter (id, tm, ip) VALUES ('S', 'S', 'S')
    Zapytanie wykonane 1 razy na bazie s77676sg_jo151, wartosci średnie: query time: 17.00s, lock time 0.00s, rows sent 0.0, rows examined 0.0
    SHOW TABLES LIKE 'S'

  6. #5
    Bywalec Raveren awatar
    Dołączył
    06-12-2008
    Skąd
    Lublin
    Wpisy
    185
    Punkty
    22

    Domyślny

    Zobacz 2 ostatnie zapytanie (chyba najdłużej wykonywane) Może zrezygnuj ze statystyk, jeśli nie są bezwzględnie konieczne.

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •