How to rewrite the query without inline query
Hello people,I have this request trying to rewrite with a single outer join. As previously with the inline its taking too much time (one day). I was wondering if this is how I rewrite. Thanks to a bouquet. I know there must be indexed on the event.
original :
select e.event_id,
EVENT_STATUS_CODE,
EVENT_TYPE_CODE,
c.client_code,
trunc(DATE_EXTRACTED),
trunc(DATE_SUBMITTED),
trunc(CLS.DATE_RETURNED),
trunc(DATE_TYPED),
trunc(REJECT_DATE),
SUM_BILLED "bill_ttl",
SUM_PAID,
SUM_AMOUNT "Recoveries",
trunc(DATE_OF_INCIDENT),
recspec.USER_REAL_NAME,
recspec.LEVEL_B_CODE,
trunc(STAGE_CREATED_DATE),
REJECT_CODE,
ISO_ERROR
FROM EVENT E,
CLIENT C,
MV_RECOVERYDET_EVENT_SUM MV_R,
CLS_SEND CLS,
MV_BILLDETAIL_EVENT_SUM MV_BDE,
(SELECT EVENT_ID, USER_REAL_NAME, LEVEL_B_CODE
FROM END_USER EU, EVENT_END_USER EEU
WHERE EEU.END_USER_ID = EU.END_USER_ID
AND OWNER_FLAG = 'Y') recspec
WHERE E.EVENT_ID = MV_R.EVENT_ID(+)
AND E.EVENT_ID = MV_BDE.EVENT_ID(+)
AND E.EVENT_ID = recspec.EVENT_ID(+)
AND E.EVENT_ID = CLS.EVENT_ID(+)
AND E.CLIENT_ID = C.CLIENT_ID
AND E.CLIENT_ID = '1078';
After rewritting
select e.event_id,
EVENT_STATUS_CODE,
EVENT_TYPE_CODE,
c.client_code,
trunc(DATE_EXTRACTED),
trunc(DATE_SUBMITTED),
trunc(CLS.DATE_RETURNED),
trunc(DATE_TYPED),
trunc(REJECT_DATE),
SUM_BILLED "bill_ttl",
SUM_PAID,
SUM_AMOUNT "Recoveries",
trunc(DATE_OF_INCIDENT),
EU.USER_REAL_NAME,
EU.LEVEL_B_CODE,
EU.USER_REAL_NAME,
EU.LEVEL_B_CODE,
trunc(STAGE_CREATED_DATE),
REJECT_CODE,
ISO_ERROR
FROM EVENT E,
CLIENT C,
MV_RECOVERYDET_EVENT_SUM MV_R,
CLS_SEND CLS,
MV_BILLDETAIL_EVENT_SUM MV_BDE,
END_USER EU, EVENT_END_USER EEU
WHERE E.EVENT_ID = MV_R.EVENT_ID(+)
AND E.EVENT_ID = MV_BDE.EVENT_ID(+)
--AND E.EVENT_ID = recspec.EVENT_ID(+)
AND E.EVENT_ID = CLS.EVENT_ID(+)
AND E.CLIENT_ID = C.CLIENT_ID
AND
EEU.END_USER_ID = EU.END_USER_ID
AND EEU.EVENT_ID(+) = E.EVENT_ID
AND OWNER_FLAG = 'Y'
AND E.CLIENT_ID = '1078';
?
Published by: user11961230 on May 2, 2012 12:28
PX stuff, it's just the 'pipes' oracle uses to divide your table into pieces and the pieces of transformation. You don't have much control that beyond doing Oracle use parallel queries or not. I guess that you can specify a degree, but this isn't your problem, anyway. But if you're curious, PX is mentioned here. http://docs.Oracle.com/CD/B12037_01/server.101/b10752/ex_plan.htm
Using index becomes a little more complicated with outer joins, because they return the rows that do not match the table conduct. If the index will be useful on the tables of conduct. It is possible to what I was looking to take advantage of the index because each row of the table is returned to the outer join. If you want to limit who then you need some sort of filter condition and an index on that column filter would be useful.
Published by: watch on 2 may 2012 17:20
Tags: Database
Similar Questions
-
How can rewrite the query statement effectively
Hi gurus,
BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.4.0 - Production 64-bit
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
AMT for Linux: release 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Table scripts
CREATE TABLE WAREHOUSE
(
IDZONE VARCHAR2 (6 BYTE) NOT NULL,
ZONE_CREATEDATE DATE NOT NULL,
DATE OF DT_WAREHOUSE,
DATE OF DT_POSTING
)
AREA ID, ZONE_CREATEDATE is PK
CREATE TABLE ZONE_VIEW
(
IDZONE VARCHAR2 (6 BYTE) NOT NULL,
ZONE_CREATEDATE DATE NOT NULL,
ZONE_NUM NUMBER (2) NOT NULL,
DATE OF TRANX_DATE
)
ID of the AREA, ZONE_CREATEDATE, ZONE_NUM is PK
Query
SELECT ID area, zone_createdate
Of
(
SELECT ID area, zone_createdate,
MAX (CASE WHEN zone_num = 18 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 18 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_18,.
MAX (CASE WHEN zone_num = 110 AND not IS NOT NULL, THEN 1 TIME = 110 zone_num tranx_date AND tranx_date IS NULL THEN 0 ELSE-1 END) region_110,.
MAX (CASE WHEN zone_num = 135 AND tranx_date no IS NOT NULL, THEN 1 TIMES zone_num = 135 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_135,.
MAX (CASE WHEN zone_num = 140 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 140 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_140
OF zone_view
GROUP BY IDZone, zone_createdate
) zrn
WHERE zrn.region_18 <>0
AND (((zrn.region_110 = 1) OR (zrn.region_110 = - 1)) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_warehouse IS NULL)))
AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))
OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140 < 1))
OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140, <>, 0))
);
Top query runs too slowly on the real data set. Is there an effective way to rewrite the query which can perform the dough?
Any help or suggestion would be appreciated
Thanks in advance
At the time where the application may not throw anything until after he has retrieved and grouped all the ranks of zone_view. His estimate of 7.5 minutes to scan millions 639 lines really fast enough - it's 85 million lines per minute.
This seems to be where the time went. The only way that the query can be accelerated is to recover some of the conditions that must be applied before the grouping. The only obvious possibilities for this are
(a) filter values of zone_num
(b) move the audit only
NOT EXISTS (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_warehouse IS NULL)
within the group, because this condition is applied regardless of the values in calculated fields. The AREA ID, ZONE_CREATEDATE are not null, so I suggest to try:
SELECT ID area, zone_createdate
Of
(
SELECT ID area, zone_createdate,
MAX (CASE WHEN zone_num = 18 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 18 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_18,.
MAX (CASE WHEN zone_num = 110 AND not IS NOT NULL, THEN 1 TIME = 110 zone_num tranx_date AND tranx_date IS NULL THEN 0 ELSE-1 END) region_110,.
MAX (CASE WHEN zone_num = 135 AND tranx_date no IS NOT NULL, THEN 1 TIMES zone_num = 135 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_135,.
MAX (CASE WHEN zone_num = 140 AND tranx_date 'n' IS NOT NULL, THEN 1 TIME zone_num = 140 AND tranx_date IS NULL THEN 0 ELSE-1 END) region_140
OF zone_view
where (IDZone, zone_createdate) NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)
and zone_num (18, 110, 135, 140)
GROUP BY IDZone, zone_createdate
) zrn
WHERE zrn.region_18 <> 0
AND ((zrn.region_110 = 1) OR (zrn.region_110 = - 1))
AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))
OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140)<>
OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140 <> 0))
)
Unfortunately, if the plan of the query time estimates are correct, most of the duration of the query is spent doing a reading zone_view in a full analysis, and which will not be changed by this query.
If there are many rows for each (IDZone, zone_createdate) zone_view pair, then it is possible that an index on (area ID, zone_num, zone_createdate) would contribute to this request, especially if most (IDZone, zone_createdate) pairs are filtered with the NOT IN (select the zone ID, zone_createdate w warehouse WHERE w.dt_warehouse IS NULL). More radical but probably effective measure would be a functional on index
zone_view (zone_num, IDZone, zone_createdate, case when tranx_date is null then 0 otherwise 1 end)
and using the expression in the query box:
SELECT ID area, zone_createdate
Of
(
SELECT ID area, zone_createdate,
NVL (MAX (CASE WHEN zone_num = 18 then case when tranx_date is null, then 0 or 1 end end),-1) region_18,.
NVL (MAX (CASE WHEN zone_num = 110 then case when tranx_date is null, then 0 or 1 end end),-1) region_110,.
NVL (MAX (CASE WHEN zone_num = 135 then case when tranx_date is null, then 0 or 1 end end),-1) region_135,.
NVL (MAX (CASE WHEN zone_num = 140 then case when tranx_date is null, then 0 or 1 end end),-1) region_140
OF zone_view
where (IDZone, zone_createdate) NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)
and zone_num (18, 110, 135, 140)
GROUP BY IDZone, zone_createdate
) zrn
WHERE zrn.region_18 <> 0
AND ((zrn.region_110 = 1) OR (zrn.region_110 = - 1))
AND (((zrn.region_135 = 1) AND (there IS NOT (SELECT null from warehouse w WHERE w.zoneid = zrn.zoneid AND w.zone_createdate = zrn.zone_createdate AND w.dt_posting IS NULL))) OR (zrn.region_140 = 1))
OR ((zrn.region_18 >-1) AND (zrn.region_135 = - 1) AND (zrn.region_140)<>
OR ((zrn.region_110 = 1) AND (zrn.region_135 = - 1) AND (zrn.region_140 <> 0))
)
This gives a very different plan on my database, by performing an iteration on relevant areas of performance status:
---------------------------------------------------------
| ID | Operation | Name |
---------------------------------------------------------
| 0 | SELECT STATEMENT | |
|* 1 | FILTER | |
| 2. VIEW | |
|* 3 | FILTER | |
| 4. HASH GROUP BY. |
| 5. ANTI NESTED LOOPS. |
| 6. INLIST ITERATOR. |
|* 7 | INDEX RANGE SCAN | ZV_F1 |
|* 8 | TABLE ACCESS BY INDEX ROWID | WAREHOUSE |
|* 9 | INDEX UNIQUE SCAN | WAREHOUSE_PK |
| * 10 | TABLE ACCESS BY INDEX ROWID | WAREHOUSE |
| * 11 | INDEX UNIQUE SCAN | WAREHOUSE_PK |
---------------------------------------------------------
Your plan will be different because you have data volumes (I didn't create millions of lines of test data)
It would be useful to know how many rows there are in the WAREHOUSE, how many distinct (IDZone, zone_createdate) pairs there are in zone_view and the number of rows actually returns the query, and how much is NOT IN (select the zone ID, w zone_createdate warehouse WHERE w.dt_warehouse IS NULL) because these relative numbers determine how these approaches are.
If there is a table containing all of the (area ID, zone_createdate) pairs which could take place in zone_view, which would have may another possible approach:
First filter possible pairs against NOT IN (select the zone ID, w warehouse zone_createdate WHERE w.dt_warehouse IS NULL)
Then attach them to the zone_view to retrieve only the rows in the filtered (IDZone, zone_createdate) pairs.
Good luck.
-
Rewrite the query with joins, and group by
Hello
It's an interview question.
Table names: bookshelf_checkout
virtual library
And the join condition between these two tables is title
We need to rewrite under request without using the join condition and group by clause?
When I was in College, I read most of SELECT statements can be replaced by operations base SQL (DEFINE the OPERATORS). Now, I am rewriting the query with SET operators, but not able to get the exact result.SELECT b.title,max(bc.returned_date - bc.checkout_date) "Most Days Out" FROM bookshelf_checkout bc,bookshelf b WHERE bc.title(+)=b.title GROUP BY b.title;
Kindly help me on this.
Thank you
SuriSomething like that?
1 WITH books AS ( 2 SELECT 'title 1' title FROM dual UNION ALL 3 SELECT 'title 2' FROM dual UNION ALL 4 SELECT 'title 3' FROM dual ), 5 bookshelf AS ( 6 SELECT 'title 1' title, DATE '2012-05-01' checkout_date, DATE '2012-05-15' returned_date FROM dual UNION ALL 7 SELECT 'title 1' title, DATE '2012-05-16' checkout_date, DATE '2012-05-20' returned_date FROM dual UNION ALL 8 SELECT 'title 2' title, DATE '2012-04-01' checkout_date, DATE '2012-05-15' returned_date FROM dual ) 9 SELECT bs.title, MAX(bs.returned_date - bs.checkout_date) OVER (PARTITION BY title) FROM bookshelf bs 10 UNION 11 (SELECT b.title, NULL FROM books b 12 MINUS 13* SELECT bs.title, NULL FROM bookshelf bs) SQL> / TITLE MAX(BS.RETURNED_DATE-BS.CHECKOUT_DATE)OVER(PARTITIONBYTITLE) ------- ------------------------------------------------------------ title 1 14 title 2 44 title 3
Lukasz
-
Hello
Kindly let me know how to print the query, and the parameters passed to it? I tried with the params parameter in super.executeQueryForCollection (qc, params, noUserParams); but could not succeed.
I need save the query and the parameters passed to it. Kindly help.
Thanks in advance,
Kalpana.
Here you go
Coding with Passion: Oracle ADF - Debug Mode object query with parameters
-
Uses oracle ebs r12
I have a table of data is
Operation_seq Type statusflag SeqNum
1 10A Y
2 20 b Y
3 30 c Y
4 40 D Y
5 50 e N
6 60 f Y
I want to write a query in which I want to take only 1 record operation_seq = 50 and Statusflag is N and all other interventions seq status is there.
My query must return only 50 operation when the status of 50 is N and any other status is Y.
Help, please.
Thank you
LavanLAVANKV wrote:
This statusflag can be (null or N), then how to frame the query.Simply wrap the statusflag with NVL column, you should be good.
SQL> with t 2 as 3 ( 4 select 1 seqnum, 10 operation_seq, 'a' type, 'Y' statusflag from dual union all 5 select 2 seqnum, 20 operation_seq, 'b' type, 'Y' statusflag from dual union all 6 select 3 seqnum, 30 operation_seq, 'c' type, 'Y' statusflag from dual union all 7 select 4 seqnum, 40 operation_seq, 'd' type, 'Y' statusflag from dual union all 8 select 5 seqnum, 50 operation_seq, 'e' type, '' statusflag from dual union all 9 select 6 seqnum, 60 operation_seq, 'f' type, 'Y' statusflag from dual 10 ) 11 select seqnum, operation_seq, type, statusflag 12 from ( 13 select t.*, count(decode(statusflag, 'Y', 1, null)) over() cnt_1, count(*) over() cnt_2 14 from t 15 ) 16 where operation_seq = 50 17 and nvl(statusflag, 'N') = 'N' 18 and cnt_2-cnt_1 = 1 19 / SEQNUM OPERATION_SEQ T S ---------- ------------- - - 5 50 e
-
Rewrite the query, select below or try to get the necessary O/P
Hello..
My example of data.,.
Create table customer (name varchar2 (10), telephone1 telephone2 number (10), number of phone3 (10), (10) number, bitwisephone number (10));
Insert into customer values('a',23456,67890,null,12345);
Insert into customer values ('b', 67459,89760,null, 37689);
create table do_not_call (dont_call number (10));
insert into do_not_call values (67890);
insert into do_not_call values (37689);
Question: -.
--------------
Customer 'a' has value of numbers1 as 23456.check if telephone1 exists in the do_not_call table.
In fact there is no, so set the bit for numbers1 as "o" like wise search telephone2
& phone3.after update of the bitwisephone for each client should be as the output below.
Need to O/P: -.
-------------------
name bitwisephone
a 010
b 001
For that matter... I use "any" operator...
SELECT name, case when numbers1 = all (SELECT dont_call FROM do_not_call) and then put an end to '1' other '0'.
-case when telephone2 = all (SELECT dont_call FROM do_not_call) and then put an end to '1' other '0'.
-case when phone3 = all (SELECT dont_call FROM do_not_call) then '1' other '0' end 'Bits '.
OF THE customer;
Is there any other way to get the necessary O/P?
Thank you!!
Kind regards
VijayRajaram.Looks like one already answered Re: rewrite the query, select below or try to get the necessary O/P
with customer(name,phone1,phone2,phone3,bitwisephone) as (select 'a',23456,67890,12345,null from dual union all select 'b',67459,89760,37689,null from dual ), do_not_call(dont_call) as (select 67890 from dual union all select 23456 from dual union all select 37689 from dual ) select name, to_char(mod(trunc(sum(weight)/4),2))|| to_char(mod(trunc(sum(weight)/2),2))|| to_char(mod(sum(weight),2)) bitwisephone from (select name,phone1 phone,4 weight from customer union all select name,phone2,2 from customer union all select name,phone3,1 from customer ) c, do_not_call d where c.phone = d.dont_call(+) and d.dont_call is not null group by name
Please do not duplicate messages
Concerning
Etbin
-
How to write the query option in expdp
Hi Please someone help me how to write the query option in expdp... .in expdp using the query option...
where AM columnname between 5 May 12 02:57:00.000' and ' 02:59:59.999 6 May 12: ';
Please do what is necessary...Pavan Kumar says:
QUERY = (columnname scott.test: "where between 5 May 12 02:57:00.000 h ' and ' 6 May 12 AM 02:59:59.999'")Who will fail in databases, because you assume nls_date_format. How it is difficult to put to_date() surround channels? Rather than play with quotation marks, using one parfile thusly.
query=table_owner.table_1:"where business_date between to_date('20120505025700 am','yyyymmddhhmiss am') and to_date('20120505025959 am','yyyymmddhhmiss am')" query=table_owner.table_2:"where business_date between to_date('20120505025700 am','yyyymmddhhmiss am') and to_date('20120505025959 am','yyyymmddhhmiss am')" query=table_owner.table_3:"where business_date between to_date('20120505025700 am','yyyymmddhhmiss am') and to_date('20120505025959 am','yyyymmddhhmiss am')"
You do not have to have all the clauses in a single line, as they are side by side parfile, which would be enough. For this reason parfile is better than the command line in order to avoid all the back-citing dance.
-
Hello
I have a form based on the table that store only 1 card. I have created a form page, but may not know how to run the query and display the record in the table. If there is no record in the table, I want that the user can use this page to create a record.
Thanks in advance
NRIHello Nri,
What value does P18_SCHOOL_ID?
If you look at the State of Session (toolbar) developer. If that does not have a value, it's your problem.You can create a calculation before the process that gives the correct value. (In one case more often, you have a report and when you click on the link change that id is activated and you see the recording in your form)
Dimitri
-
How to rewrite the sql statement?
Hello my query goes like this:
Select a, b, c
from (select 5A, b null, null double c
Union of all the
Select null, 4, the double null
Union of all the
Select 10, 3, double null) test_tab;
and I want to get the result
5 null null
null null 4
10 null null
3 null null
How can I rewrite the query without changing the structure of a table?
Kind regards
IgorHello
A way
select a, null b, null c from test_tab where a is not null union all select null, b, null from test_tab where b is not null union all select null, null, c from test_tab where c is not null
Concerning
Anurag -
How to start the assessment without a device
Hello
I downloaded the evaluation version.
How to start the assessment without a device?
Thank you
DV63
Hi DV63,
Welcome to the Forums EITHER!
If you downloaded an evaluation version of LabVIEW your 30 day trial must begin immediately after being invited to enter a serial number. You can choose not to enter a serial number and this will begin your trial period. I recommend that you install OR-DAQmx device drivers; It is a software that allows you to communicate with the hardware from National Instruments DAQ. However, this facility will be particularly useful because it allows you to simulate an Instrument with the measurement and Automation Explorer (MAX); This means that you can immediately start the signals in LabVIEW.
-
need vista in windows vista 64-bit upgrade Express dvd, but can't without a yellow sticker? is - this saposed to be somewhere on my pc? or on the vista cd case? and how to make the upgrade without the sticker?
32-bit to 64-bit is NOT an upgrade path.
It must be done with a clean installation using a Vista FULL 64-bit disk/license.
Buy a version of disk/license FULL Vista 64 bits of your local computer, or online store: amazon, newegg, etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you already have a version of Vista Home 64 bit, here's how to buy Vista 64 bit Ultimate Anytime Upgrade:
http://www.Microsoft.com/Windows/Windows-Vista/get/Anytime-Upgrade-overview.aspx
See you soon. Mick Murphy - Microsoft partner
-
How to activate the mode without failure in a game?
U see sometimes games run faster in mode safe & probably, I like it but I don't know how to activate it in gaming applications only in games ok?
How to activate the mode without failure in games?AI
Most of the games do not work in safe mode, because safe mode loads only the system drivers and not the games so it is really moot to wonder if he would run faster.
You can start in safe mode by pressing F8 during startup. You will see that the game does not load again.
-
I have paid the monthly fee and have been using Acrobat Pro DC. I had a problem where I broke my previous laptop and want to continue to use this product. I bought another laptop, and I don't know how to download the program without having to pay again. I pay $14,99 per month for this service, how can I download it without having to pay again?
Hello
Please download Acrobat Pro ms of the here. After you download the application, install and activate it by providing your Adobe ID
Thank you
Abhishek
-
How to get the query execution time without running...?
Hello
I had one condition... as follows...
I had 3 sql statements. I need to run only sql what runtime is very less.
Can someone help me, how to get the time query and run this query without using explain plan... ?
Thank you
RajeshI can't think in any way at all to get the query execution time without running the query.
You might get an estimate ( approximation ) If you are using explain plan.
But you have governed to explain plan for a reason, so I can't help you.
Why you do not want to use don't explain plan? -
Rewrite the query without views
I remember seeing a function in oracle PL/SQL package, which would be to rewrite a query as it contained no views more (but the only real tables)... but I don't remember the name of the function.
What function/package for this?
Hello
looking for the new feature of 12 c DBMS_UTILITY. EXPAND_SQL_TEXT?
Concerning
Marcus
Maybe you are looking for
-
Pavilion Notebook 17-g-108na E: download for HP 3D DriveGuard
I need the download correct HP for HP 3D DriveGuard. Had Accelerometerst.exe Application Error (0xc000007b) click on OK to close the Application. Uninstalled the app, but not sure of the correct download on the Forum Site. They seemto be for Windows
-
The machine is relatively new and was working perfectly until the upgrade.
-
USAF or silent hunter games does not work under vista
When I try to run usaf it will fail to start & run ive tried Compatibility Wizard programs without result, helpsWhen I run silent hunter appointed until I get home from gameplay where the screen goes black what should I do?
-
Hello My Dell Precision M4400 gave me a blue screen and showed the message to the virus. I was unable to boot into SafeMode either. I ran AVG boot disk to analyze, but it did not find any virus. I changed my operation type SATA from AHCI to ATA and I
-
How do I uninstall expired f-secure internet security?
Hello My F - secure Internet Security 2011 have just expired a few days ago. So I recently bought the same F - secure Internet Security 2011 with the same provider. And it comes with a different product key. And I procceed to download and install int