# lec11

_this section still needs more info_

## Query processing 

Keep in mind we are still concerned with systems like sqlite3.

First we have to parse an input to validate it.
Then we should also validate any semantics about the input, ensure that the given _tables, objects etc_ are correct.
Finally we should somehow calculate the input: usually by converting the given expression to the equivalent relational algebra expression.

If we can optimize this expression we can then create more efficient queries.
To do this we take into account 3 main factors:
1. I/O time
	* if we have to write something to disk over and over again then  we 
2. Computational Time
3. Required memory/disk space

### Cost funtion 

## Performance of Disk and RAM

## DB Block

## Disk Buffers
