Skocz do zawartości

Usunięcie zdjęć z towarów Subiekta i Sello

Polecane posty

Powiązań jest więcej niż tylko pomiędzy aukcjami. W aukcjach zakończonych do usuwania zdjęć służy funkcja w zmianach zbiorczych (ctrl+B). Po tym dopiero znikną powiązania aukcji ze zdjęciami. Jeśli w bazie są towary ze zdjęciami to również i one mogą przechowywać powiązanie ze zdjęciami.

 

Link to postu

W zależności od prowadzonej działalności może się okazać, że zdjęcia u Ciebie wcale tak dużo nie zajmują, lub nie można ich usunąć, bo są stale wykorzystywane.

Np. u mnie mam ok. 25 MB zdjęć do wyczyszczenia, bo głównie mielę tymi samymi aukcjami i tymi samymi zdjęciami.

Łatwiej jest wyczyścić np. opisy starych aukcji, albo maile

I zwykle dają duże rezultaty.

Chyba, że masz zwykle jednorazowe produkty, dla których stale robisz nowe zdjęcia. Wówczas pewnie do wyczyszczenia będzie dużo zdjęć.

Edytowane przez Ks. Robak
Link to postu

@Computer Rrecycling wykonaj to polecenie w programie serwisowym, aby zobaczyć ile miejsca zajmują poszczególne elementy w bazie. Jest to skrypt napisany przez Bartka.

begin try 
SELECT
(row_number() over(order by a3.name, a2.name))%2 as l1,
--a3.name AS [schemaname],
a2.name AS tabela,
a1.rows as 'liczba wierszy',
(a1.reserved + ISNULL(a4.reserved,0))* 8/1024.0 AS 'zarezerwowane [MB]', 
a1.data * 8/1024.0 AS 'dane [MB]',
(CASE WHEN (a1.used + ISNULL(a4.used,0)) > a1.data THEN 
  (a1.used + ISNULL(a4.used,0)) - a1.data ELSE 0 END) * 8/1024.0 AS 'wielkość indeksu [MB]',
(CASE WHEN (a1.reserved + ISNULL(a4.reserved,0)) > a1.used THEN 
  (a1.reserved + ISNULL(a4.reserved,0)) - a1.used ELSE 0 END) * 8/1024.0 AS 'nieużywane [MB]'
FROM
(SELECT 
 ps.object_id,
 SUM (
  CASE
   WHEN (ps.index_id < 2) THEN row_count
   ELSE 0
  END
  ) AS [rows],
 SUM (ps.reserved_page_count) AS reserved,
 SUM (
  CASE
    WHEN (ps.index_id < 2) THEN 
  (ps.in_row_data_page_count + ps.lob_used_page_count + ps.row_overflow_used_page_count)
    ELSE (ps.lob_used_page_count + ps.row_overflow_used_page_count)
  END
  ) AS data,
 SUM (ps.used_page_count) AS used
FROM sys.dm_db_partition_stats ps
GROUP BY ps.object_id) AS a1
LEFT OUTER JOIN 
(SELECT 
 it.parent_id,
 SUM(ps.reserved_page_count) AS reserved,
 SUM(ps.used_page_count) AS used
 FROM sys.dm_db_partition_stats ps
 INNER JOIN sys.internal_tables it ON (it.object_id = ps.object_id)
 WHERE it.internal_type IN (202,204)
 GROUP BY it.parent_id) AS a4 ON (a4.parent_id = a1.object_id)
INNER JOIN sys.all_objects a2  ON ( a1.object_id = a2.object_id ) 
INNER JOIN sys.schemas a3 ON (a2.schema_id = a3.schema_id)
WHERE a2.type <> 'S' and a2.type <> 'IT'
--ORDER BY a3.name, a2.name
--ORDER BY a1.rows desc
ORDER BY data desc
end try 
begin catch 
select 
-100 as l1
, 1 as schemaname 
,       ERROR_NUMBER() as tablename
,       ERROR_SEVERITY() as row_count
,       ERROR_STATE() as reserved
,       ERROR_MESSAGE() as data
,       1 as index_size
,   1 as unused 
end catch

 

Link to postu
  • 2 tygodnie później...

Skoro zdjęć jest aż 9GB to ja bym proponował sprawdzić czy nie masz wśród nich typowych śmieci ( zdjęć, które nie są połączone ani z towarem ani z aukcją i po prostu 'wiszą' w bazie ).

Żeby sprawdzić czy takie śmieci masz to nie trzeba na szczęście się znać na SQL.

Wrzuć w program serwisowy po kolei te 3 poniższe zapytania i ich wyniki wrzuć sobie do Excela.

1. Zwróci Tobie ID wszystkich zdjęć w bazie.

select im_id from im__image

2. Zwróci Tobie ID wszystkich zdjęć, które są używane przez towary.

select pc_pictureid from it_itempictures

3. Zwróci Tobie ID wszystkich zdjęć, które są wykorzystywane przez Aukcje.

select ap_pictureid from au_picture

Wyniki wszystkich 3 zapytań wrzuć do jednej kolumny w Excelu i zlicz ich wystąpienia.
Te komórki, które wystąpią w kolumnie tylko 1 raz to ID zdjęć 'śmieci' ( bo ich ID nie powtórzyło się ani w aukcji ani w towarze ).

Jeżeli masz zdjęcia śmieci to je będzie łatwo usunąć. Jak nie to niestety czeka Ciebie kombinowanie z usuwaniem powiązań, albo podmienianiem zdjęć na mniejsze z poziomu bazy..

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...