**Describe the situation**

When using parameters (`param`) in the CLI or with the HTTP interface, the EmbeddedRocksDB engine will scan through all the data causing significant slowdown, instead of doing a proper RocksDB key lookup.

**How to reproduce**

setup.sql:
```sql
CREATE TABLE test1 (key String, value String) ENGINE=EmbeddedRocksDB PRIMARY KEY key;

-- do this a few times to exacerbate the issue
INSERT INTO test1 (*) SELECT n.number, randomString(10000) FROM numbers(10000) n;
INSERT INTO test1 (*) SELECT n.number, randomString(10000) FROM numbers(10000) n;
INSERT INTO test1 (*) SELECT n.number, randomString(10000) FROM numbers(10000) n;
```

```
❯ clickhouse client "--param_key=5000" --query "SELECT value FROM test1 WHERE key = {key:String} FORMAT JSON" | jq ".statistics"
{
  "elapsed": 0.20763,
  "rows_read": 10000,
  "bytes_read": 100218890
}

❯ clickhouse client --query "SELECT value FROM test1 WHERE key = '5000' FORMAT JSON" | jq ".statistics"
{
  "elapsed": 0.000519,
  "rows_read": 1,
  "bytes_read": 10022
}
```

**Version**
22.6.1.231


if (!status.ok())
                {
                    throw Exception(ErrorCodes::ROCKSDB_ERROR, "Fail to merge rocksdb options from '{}' at: {}: {}",
                        config_key, rocksdb_dir, status.ToString());
                }
            }
        }
    }
    status = rocksdb::DB::Open(merged, rocksdb_dir, &db);
    if (!status.ok())
    {
        throw Exception(ErrorCodes::ROCKSDB_ERROR, "Fail to open rocksdb path at: {}: {}",
            rocksdb_dir, status.ToString());
    }
    
    rocksdb_ptr = std::unique_ptr<rocksdb::DB>(db);
}
Pipe StorageEmbeddedRocksDB::read(
        const Names & column_names,
        const StorageSnapshotPtr & storage_snapshot,
        SelectQueryInfo & query_info,
        ContextPtr ,
        QueryProcessingStage::Enum ,
        size_t max_block_size,
        unsigned num_streams)
{
    storage_snapshot->check(column_names);
    FieldVectorPtr keys;
    bool all_scan = false;
    Block sample_block = storage_snapshot->metadata->getSampleBlock();