I have a very big table with a lot of rows, every row has stats for every user for certain days. And obviously I don't have any stats for future. So to update the stats I use

```
UPDATE Stats SET Visits=@val WHERE ... a lot of conditions ... AND Date=@Today

```

But what if the row doesn't exist? I'd have to use

```
INSERT INTO Stats (...) VALUES (Visits=@val, ..., Date=@Today)

```

How can I check if the row exists or not? Is there any way different from doing the COUNT(\*)?

If I fill the table with empty cells, it'd take hundreds of thousands of rows taking megabytes and storing no data.