Firefox 29-방문 횟수를 x 회 미만으로 삭제하는 방법


11

문맥:

나는 몇 년 동안 내 Firefox 프로필을 사용해 왔습니다. 내 역사 파일은 자연스럽게 커졌습니다. 기본 데스크탑 PC와 랩톱간에 Firefox 동기화를 설정했습니다.

HW 구성 :

  • PC : i5-3450, 8GB DDR3 RAM, Crucial M4128GB SSD
  • 노트북 : Pentium SU4100, 4GB DDR3 RAM, WD 5400rpm HDD

괜찮은 구성에도 불구하고 데스크탑의 Awesome Bar에 입력 할 때 기록 항목에 액세스하는 데 시간이 오래 걸리지 만 랩톱은 느려집니다. 경험은 매우 반응이 없습니다.

기록을 약간 정리하면 속도를 높이기 위해 새 프로필을 만들지 않아도됩니다.

질문 자체 :

설명하기 위해 :

역사

방문 횟수가 x보다 적은 (5라고 말) 동시에 최근 방문이 y보다 적은 (120이라고 말한) 모든 기록 항목을 삭제하는 방법이 있습니까?

afaik 기록 파일은 일종의 SQL 데이터베이스이지만 데이터를 편집하는 "안전한 방법"이 있고 필요한 쿼리를 수행하는 방법은 무엇인지 데이터가 저장되는 방법을 잘 모르겠습니다.


이전 수퍼 유저 질문을 계속 탐색하여 관련 정보를 찾을 수 있는지 확인했습니다.

내 Firefox 프로필 디렉토리에라는 파일이 places.sqlite있습니다. sqlite로 열면 테이블 moz_places과 ( )가 나타납니다 moz_historyvisits. moz_historyvisits기본 moz_placesURL을 사용하여 URL을 참조 하는 것 같습니다 .

데이터베이스에 익숙하지 않기 때문에 견적에 언급 된 두 테이블이 어떻게 관련되어 있는지 이해하지 못합니다.

테이블 일부의 스크린 샷 places_sqlite

나는 visit_count표준 형식이므로 작업하기가 쉽다 는 것을 알았습니다 . last_visit_date모습은 내 육안으로 암호화,하지만 난 어떤 방법으로 볼 수 없습니다.

도움이 되었으면 좋겠습니다.


귀하의 질문 중 하나에 답하기 위해이 답변 에 따르면 Firefox는 실제로 SQL을 사용합니다. SQLLite를 시작하고 거기서 나가는 것이 좋습니다.
AStopher

지금까지 무엇을 시도 했습니까? 계속 진행하기 전에 새로운 Firefox 프로필이 특히 랩톱에서보다 빠른 경험을 제공하는지 확인할 수 있습니까?
and31415

1
방금 새로운 정보가 포함 된 답변을 게시했습니다. 간단히 말해서, 시도하지는 않았지만 랩톱과 데스크탑 모두에서 프로파일이 아주 새롭고 (많은 항목으로 인해 기록이 정리되지 않았을 때) 멋진 바가 훨씬 더 빠르다는 것을 분명히 기억합니다.
lousyuser

기록을 지운 후 성능이 향상 되었습니까? -편집 : 죄송합니다 : 이제 선택한 답변에 댓글을 달았으며 크게 개선되었음을 알았습니다.
ndemou

답변:


9

몇 가지 연구 ( '참조'에 대한 끝 부분 참조)를 통해이 간단한 솔루션을 생각해 냈습니다.


우선 백업. FIREFOX FIRST 닫기


이 편집에 당신을 필요로 SQLite는 , 데이터베이스 (참조 자체에 포함 된 SQL 데이터베이스 위키 백과 문서를 귀하의 경우 (조건을 만족하는 모든 레코드를 찾기 위해 쿼리를 만들어 모질라 파이어 폭스의를 - 이하 5 번 확인) 에 방문하지 지난 120 일).


우선 백업. FIREFOX FIRST 닫기

지침 시작 :


이것은 작동합니다 (내 Firefox v. 29.0.1에서 테스트 및 작동). 12 가지 쉬운 단계 :

  1. SQLite 데이터베이스 브라우저 설치

  2. 열어 봐

  3. 데이터베이스 열기를 클릭하십시오

  4. C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE]필요에 따라 편집으로 이동

    다음 파일을 먼저 백업하십시오 !

  5. 열고 places.sqlite4 단계에서 열었던 디렉토리에서.

    심각하게 백업 우선 !!

  6. SQL 실행 탭을 클릭하십시오.

  7. 이것을 입력하십시오 :

    SELECT *
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    
  8. x(2)5로 교체하십시오 (예시).

  9. 교체 2014-04-012014-05-30원하는 날짜의 범위

  10. 파란색 재생 버튼을 누릅니다.

  11. 표시된 사이트가 올바른지 확인하십시오.

  12. 그렇다면 위 코드의 처음 두 줄을 다음으로 바꿉니다.

    DELETE
    FROM moz_places
    

    따라서 코드는 다음과 같습니다.

    DELETE
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    

끝난! 프로그램을 닫고 닫을 때 저장을 클릭하십시오.

지시 끝


무엇에 대해 last_visit_date?

last_visit_date는 육안으로 암호화 된 것처럼 보이지만 어떤 방식으로도 볼 수 없습니다.

나는 그것을 암호화 된 것으로 부르지 않을 것입니다 (암호화 된 것처럼 보이지는 않지만). 다른 '시스템'에 있습니다. 날짜는 Unix시간 시스템 (또는 Epoch/ POSIX)에 있습니다. 1970 년 1 월 1 일 00:00:00 (UTC) 이후 경과 한 시간 (초)입니다. 1 시간은 3600 초입니다. 1 년은 31556926 일입니다.

더 많은 정보를 위해서. 확인 이 위키 백과의 문서 출력, 또는 변환 시간 그와 시대 시간에서 웹 사이트를.


스크린 샷 (이 이미지에서 SQL 쿼리를 무시하면 잘못된 것입니다. 대부분 볼 위치를 알려줍니다)

SQLite 데이터베이스 브라우저 SQLite 데이터베이스 브라우저 SQLite 데이터베이스 브라우저

;) 덕분에 :


보안을 강화하기 위해이 작업을 수행하기 전에 데이터베이스의 복사본 (백업)을 만들 수 있습니다.
Bob

또한이 작업을 올바르게 수행하려면 moz_places더 이상 해당 항목이없는 항목 에서 삭제해야 합니다 place_id.
Bob

죄송합니다. 삭제는moz_historyvisits
Bob

@Bob 그리고 place_idin moz_historyvisits= idin moz_places?
ᔕᖺᘎᕊ

해야한다. 이를 처리하는 두 가지 방법이 있습니다. 1. moz_historyvists 첫 번째 ( delete from moz_historyvisits as hv left join moz_places as p on hv.place_id = p.id where p.visit_count...) 에서 삭제 또는 2. 삭제 후 해당 항목이없는 항목 에서 삭제할moz_places 수 있습니다 . 개인적으로 옵션 1을 선호합니다. 테스트없이 사용하지 마십시오. 내 SQL은 다소 녹슬었고 sqlite가 아닌 pgsql로 배웠습니다. 실제로 lemme 테스트에서 한 번에 둘 다 삭제할 ​​수 있습니다. moz_historyvisits
Bob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.